Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1209787 > unrolled thread

[PATCH 0/6] ChromeOS EC Kconfig cleanups

Started byJavier Martinez Canillas <javier@osg.samsung.com>
First post2015-08-19 13:30 +0200
Last post2015-08-19 23:30 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/6] ChromeOS EC Kconfig cleanups Javier Martinez Canillas <javier@osg.samsung.com> - 2015-08-19 13:30 +0200
    [PATCH 3/6] platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO Javier Martinez Canillas <javier@osg.samsung.com> - 2015-08-19 13:30 +0200
      Re: [PATCH 3/6] platform/chrome: Make depends on MFD_CROS_EC instead  CROS_EC_PROTO Olof Johansson <olof@lixom.net> - 2015-08-21 19:20 +0200
    [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency Javier Martinez Canillas <javier@osg.samsung.com> - 2015-08-19 13:30 +0200
      Re: [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2015-08-19 23:30 +0200

#1209787 — [PATCH 0/6] ChromeOS EC Kconfig cleanups

FromJavier Martinez Canillas <javier@osg.samsung.com>
Date2015-08-19 13:30 +0200
Subject[PATCH 0/6] ChromeOS EC Kconfig cleanups
Message-ID<pZ9J7-4sk-3@gated-at.bofh.it>
Hello,

This patch series attemp to fix the issues that exist with the ChromeOS
EC drivers Kconfig symbols. These are:

1) The MFD_CROS_EC config symbol select CROS_EC_PROTO and CHROME_PLATFORMS
   which caused a Kconfig unmet direct dependencies warning.

2) Mix of select and depends on for the CROS_EC_PROTO config symbol which
   may lead to circular Kconfig dependencies.

The first issue was because CHROME_PLATFORMS depend on X86 || ARM and the
MFD_CROS_EC didn't have this dependency. I thought the correct solution
was to remove the dependency for CHROME_PLATFORMS since in theory there
could be Chromebooks for other architectures.

That was made in commit d12bbcd3ea44 ("platform/chrome: Don't make
CHROME_PLATFORMS depends on X86 || ARM") but Geert nacked that and told me
the correct fix was the opposite, to add the dependencies to the driver
and possibly extend it with || COMPILE_TEST to have more build coverage.

So patch 1/5 do this and patch 2/5 reverts the mentioned commit and also
add || COMPILE_TEST to CHROME_PLATFORMS.

Patches 3/5 to 5/5 fix 2) by not making the drivers depend on CROS_EC_PROTO
since these should really depend on MFD_CROS_EC. And since MFD_CROSEC select
CROS_EC_PROTO already, that dependency is met as well.

Only patches 1/5 and 2/5 have to be applied in the same order and picked
through a single tree to avoid the Kconfig warning to appear again. The
other patches are independent and can go through the other subsystem trees.

Thanks a lot to Geert and Bartolomiej for the feedback and suggestions.

Best regards,
Javier


Javier Martinez Canillas (6):
  mfd: Add MFD_CROS_EC dependencies
  Revert "platform/chrome: Don't make CHROME_PLATFORMS depends on X86 ||
    ARM"
  platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO
  mfd: cros_ec: Remove CROS_EC_PROTO dependency for SPI and I2C drivers
  i2c: Replace I2C_CROS_EC_TUNNEL dependency
  Input: Replace KEYBOARD_CROS_EC dependency

 drivers/i2c/busses/Kconfig      | 2 +-
 drivers/input/keyboard/Kconfig  | 2 +-
 drivers/mfd/Kconfig             | 5 +++--
 drivers/platform/chrome/Kconfig | 5 +++--
 4 files changed, 8 insertions(+), 6 deletions(-)

-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1209788 — [PATCH 3/6] platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO

FromJavier Martinez Canillas <javier@osg.samsung.com>
Date2015-08-19 13:30 +0200
Subject[PATCH 3/6] platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO
Message-ID<pZ9J8-4sk-19@gated-at.bofh.it>
In reply to#1209787
The ChromeOS EC LPC and chardev drivers depend on CROS_EC_PROTO but
MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends
on is bad practice as it may lead to circular Kconfig dependencies.

Since the platform devices that are matched with these drivers are
registered by the ChromeOS EC mfd driver, they really depend on
MFD_CROS_EC. And because this config option selects CROS_EC_PROTO,
that dependency is met as well. So make the drivers to depend on
MFD_CROS_EC instead of CROS_EC_PROTO.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
---

 drivers/platform/chrome/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/chrome/Kconfig b/drivers/platform/chrome/Kconfig
index 21f4ea6c6c21..fde1129501f5 100644
--- a/drivers/platform/chrome/Kconfig
+++ b/drivers/platform/chrome/Kconfig
@@ -40,7 +40,7 @@ config CHROMEOS_PSTORE
 
 config CROS_EC_CHARDEV
         tristate "Chrome OS Embedded Controller userspace device interface"
-        depends on CROS_EC_PROTO
+        depends on MFD_CROS_EC
         ---help---
           This driver adds support to talk with the ChromeOS EC from userspace.
 
@@ -49,7 +49,7 @@ config CROS_EC_CHARDEV
 
 config CROS_EC_LPC
         tristate "ChromeOS Embedded Controller (LPC)"
-        depends on MFD_CROS_EC && CROS_EC_PROTO && (X86 || COMPILE_TEST)
+        depends on MFD_CROS_EC && (X86 || COMPILE_TEST)
         help
           If you say Y here, you get support for talking to the ChromeOS EC
           over an LPC bus. This uses a simple byte-level protocol with a
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1211264 — Re: [PATCH 3/6] platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO

FromOlof Johansson <olof@lixom.net>
Date2015-08-21 19:20 +0200
SubjectRe: [PATCH 3/6] platform/chrome: Make depends on MFD_CROS_EC instead CROS_EC_PROTO
Message-ID<pZY8W-1FW-13@gated-at.bofh.it>
In reply to#1209788
On Wed, Aug 19, 2015 at 01:19:55PM +0200, Javier Martinez Canillas wrote:
> The ChromeOS EC LPC and chardev drivers depend on CROS_EC_PROTO but
> MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends
> on is bad practice as it may lead to circular Kconfig dependencies.
> 
> Since the platform devices that are matched with these drivers are
> registered by the ChromeOS EC mfd driver, they really depend on
> MFD_CROS_EC. And because this config option selects CROS_EC_PROTO,
> that dependency is met as well. So make the drivers to depend on
> MFD_CROS_EC instead of CROS_EC_PROTO.
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>


Applied, thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1209792 — [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency

FromJavier Martinez Canillas <javier@osg.samsung.com>
Date2015-08-19 13:30 +0200
Subject[PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency
Message-ID<pZ9J9-4sk-29@gated-at.bofh.it>
In reply to#1209787
The ChromeOS EC keyboard driver config depend on CROS_EC_PROTO but
MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends
on is bad practice as it may lead to circular Kconfig dependencies.

Since the platform device that is matched with the keyboard driver
is registered by the ChromeOS EC mfd driver, KEYBOARD_CROS_EC really
should depend on MFD_CROS_EC. And because this config option selects
CROS_EC_PROTO, that dependency is met as well. So make the driver
to depend on MFD_CROS_EC instead of CROS_EC_PROTO.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>



---

 drivers/input/keyboard/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
index da53ae6a9334..2e80107ff630 100644
--- a/drivers/input/keyboard/Kconfig
+++ b/drivers/input/keyboard/Kconfig
@@ -689,7 +689,7 @@ config KEYBOARD_W90P910
 config KEYBOARD_CROS_EC
 	tristate "ChromeOS EC keyboard"
 	select INPUT_MATRIXKMAP
-	depends on CROS_EC_PROTO
+	depends on MFD_CROS_EC
 	help
 	  Say Y here to enable the matrix keyboard used by ChromeOS devices
 	  and implemented on the ChromeOS EC. You must enable one bus option
-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1210033 — Re: [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency

FromDmitry Torokhov <dmitry.torokhov@gmail.com>
Date2015-08-19 23:30 +0200
SubjectRe: [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency
Message-ID<pZj5P-15x-59@gated-at.bofh.it>
In reply to#1209792
On Wed, Aug 19, 2015 at 01:19:58PM +0200, Javier Martinez Canillas wrote:
> The ChromeOS EC keyboard driver config depend on CROS_EC_PROTO but
> MFD_CROS_EC select CROS_EC_PROTO instead. Mixing select and depends
> on is bad practice as it may lead to circular Kconfig dependencies.
> 
> Since the platform device that is matched with the keyboard driver
> is registered by the ChromeOS EC mfd driver, KEYBOARD_CROS_EC really
> should depend on MFD_CROS_EC. And because this config option selects
> CROS_EC_PROTO, that dependency is met as well. So make the driver
> to depend on MFD_CROS_EC instead of CROS_EC_PROTO.
> 
> Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
> 

Applied, thank you.

> 
> 
> ---
> 
>  drivers/input/keyboard/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
> index da53ae6a9334..2e80107ff630 100644
> --- a/drivers/input/keyboard/Kconfig
> +++ b/drivers/input/keyboard/Kconfig
> @@ -689,7 +689,7 @@ config KEYBOARD_W90P910
>  config KEYBOARD_CROS_EC
>  	tristate "ChromeOS EC keyboard"
>  	select INPUT_MATRIXKMAP
> -	depends on CROS_EC_PROTO
> +	depends on MFD_CROS_EC
>  	help
>  	  Say Y here to enable the matrix keyboard used by ChromeOS devices
>  	  and implemented on the ChromeOS EC. You must enable one bus option
> -- 
> 2.4.3
> 

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web