* [PATCH 0/6] ChromeOS EC Kconfig cleanups
@ 2015-08-19 11:19 Javier Martinez Canillas
2015-08-19 11:19 ` [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency Javier Martinez Canillas
0 siblings, 1 reply; 3+ messages in thread
From: Javier Martinez Canillas @ 2015-08-19 11:19 UTC (permalink / raw)
To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
Cc: Gwendal Grignou, Doug Anderson, Bartlomiej Zolnierkiewicz,
Wolfram Sang, Dmitry Torokhov, Lee Jones, Geert Uytterhoeven,
Olof Johansson, Javier Martinez Canillas,
linux-i2c-u79uwXL29TY76Z2rM5mHXA,
linux-input-u79uwXL29TY76Z2rM5mHXA
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
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency
2015-08-19 11:19 [PATCH 0/6] ChromeOS EC Kconfig cleanups Javier Martinez Canillas
@ 2015-08-19 11:19 ` Javier Martinez Canillas
2015-08-19 21:26 ` Dmitry Torokhov
0 siblings, 1 reply; 3+ messages in thread
From: Javier Martinez Canillas @ 2015-08-19 11:19 UTC (permalink / raw)
To: linux-kernel
Cc: Gwendal Grignou, Doug Anderson, Bartlomiej Zolnierkiewicz,
Wolfram Sang, Dmitry Torokhov, Lee Jones, Geert Uytterhoeven,
Olof Johansson, Javier Martinez Canillas, linux-input
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
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency
2015-08-19 11:19 ` [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency Javier Martinez Canillas
@ 2015-08-19 21:26 ` Dmitry Torokhov
0 siblings, 0 replies; 3+ messages in thread
From: Dmitry Torokhov @ 2015-08-19 21:26 UTC (permalink / raw)
To: Javier Martinez Canillas
Cc: linux-kernel, Gwendal Grignou, Doug Anderson,
Bartlomiej Zolnierkiewicz, Wolfram Sang, Lee Jones,
Geert Uytterhoeven, Olof Johansson, linux-input
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-08-19 21:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-19 11:19 [PATCH 0/6] ChromeOS EC Kconfig cleanups Javier Martinez Canillas
2015-08-19 11:19 ` [PATCH 6/6] Input: Replace KEYBOARD_CROS_EC dependency Javier Martinez Canillas
2015-08-19 21:26 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).