pinctrl: Do not depend in GPIOLIB, select it

Message ID 20171011100742.9912-1-linus.walleij@linaro.org
State New
Headers show
Series
  • pinctrl: Do not depend in GPIOLIB, select it
Related show

Commit Message

Linus Walleij Oct. 11, 2017, 10:07 a.m.
Instead of depends on GPIOLIB and having to run around in
Kconfig menus looking for why your device is not available,
simply select it from the pin control drivers that need it.

The Kconfig for GPIOLIB is improved, selectable and this
should "just work".

Cc: Phil Reid <preid@electromag.com.au>
Cc: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Peter Rosin <peda@axentia.se>
Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
 drivers/pinctrl/Kconfig       | 6 ++++--
 drivers/pinctrl/intel/Kconfig | 3 ++-
 2 files changed, 6 insertions(+), 3 deletions(-)

Comments

Andy Shevchenko Oct. 11, 2017, 1:17 p.m. | #1
On Wed, 2017-10-11 at 12:07 +0200, Linus Walleij wrote:
> Instead of depends on GPIOLIB and having to run around in
> Kconfig menus looking for why your device is not available,
> simply select it from the pin control drivers that need it.
> 
> The Kconfig for GPIOLIB is improved, selectable and this
> should "just work".
> 
> Cc: Phil Reid <preid@electromag.com.au>
> Cc: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
> Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Cc: Peter Rosin <peda@axentia.se>
> Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

Fine by me:
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

P.S. Linus, btw, are you going to ELC 2017 Europe (Prague)?

> ---
>  drivers/pinctrl/Kconfig       | 6 ++++--
>  drivers/pinctrl/intel/Kconfig | 3 ++-
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
> index 8da29e9e1bb2..034822c7144d 100644
> --- a/drivers/pinctrl/Kconfig
> +++ b/drivers/pinctrl/Kconfig
> @@ -97,7 +97,7 @@ config PINCTRL_AT91PIO4
>  
>  config PINCTRL_AMD
>  	tristate "AMD GPIO pin control"
> -	depends on GPIOLIB
> +	select GPIOLIB
>  	select GPIOLIB_IRQCHIP
>  	select PINCONF
>  	select GENERIC_PINCONF
> @@ -156,6 +156,7 @@ config PINCTRL_MCP23S08
>  	tristate "Microchip MCP23xxx I/O expander"
>  	depends on SPI_MASTER || I2C
>  	depends on I2C || I2C=n
> +	select GPIOLIB
>  	select GPIOLIB_IRQCHIP
>  	select REGMAP_I2C if I2C
>  	select REGMAP_SPI if SPI_MASTER
> @@ -224,10 +225,11 @@ config PINCTRL_SIRF
>  
>  config PINCTRL_SX150X
>  	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
> -	depends on GPIOLIB && I2C=y
> +	depends on I2C=y
>  	select PINMUX
>  	select PINCONF
>  	select GENERIC_PINCONF
> +	select GPIOLIB
>  	select GPIOLIB_IRQCHIP
>  	select REGMAP
>  	help
> diff --git a/drivers/pinctrl/intel/Kconfig
> b/drivers/pinctrl/intel/Kconfig
> index f30720a752f3..7fb1b9937c39 100644
> --- a/drivers/pinctrl/intel/Kconfig
> +++ b/drivers/pinctrl/intel/Kconfig
> @@ -5,7 +5,8 @@ if (X86 || COMPILE_TEST)
>  
>  config PINCTRL_BAYTRAIL
>  	bool "Intel Baytrail GPIO pin control"
> -	depends on GPIOLIB && ACPI
> +	depends on ACPI
> +	select GPIOLIB
>  	select GPIOLIB_IRQCHIP
>  	select PINMUX
>  	select PINCONF
Mika Westerberg Oct. 11, 2017, 6:59 p.m. | #2
On Wed, Oct 11, 2017 at 12:07:42PM +0200, Linus Walleij wrote:
> Instead of depends on GPIOLIB and having to run around in
> Kconfig menus looking for why your device is not available,
> simply select it from the pin control drivers that need it.
> 
> The Kconfig for GPIOLIB is improved, selectable and this
> should "just work".
> 
> Cc: Phil Reid <preid@electromag.com.au>
> Cc: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
> Cc: Mika Westerberg <mika.westerberg@linux.intel.com>

Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Linus Walleij Oct. 12, 2017, 7:16 a.m. | #3
On Wed, Oct 11, 2017 at 3:17 PM, Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:

> P.S. Linus, btw, are you going to ELC 2017 Europe (Prague)?

Sadly not this year. Too much travelling and too little work,
so had to focus a bit on work/life-balance and getting some
serious coding done this year.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bjorn Andersson Oct. 12, 2017, 10:20 p.m. | #4
On Wed, Oct 11, 2017 at 3:07 AM, Linus Walleij <linus.walleij@linaro.org> wrote:
>
> Instead of depends on GPIOLIB and having to run around in
> Kconfig menus looking for why your device is not available,
> simply select it from the pin control drivers that need it.
>
> The Kconfig for GPIOLIB is improved, selectable and this
> should "just work".
>

It's generally frowned upon to select a user-selectable option, but as
long as GPIOLIB doesn't "depends on" anything it should be fine.

Regards,
Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/pinctrl/Kconfig b/drivers/pinctrl/Kconfig
index 8da29e9e1bb2..034822c7144d 100644
--- a/drivers/pinctrl/Kconfig
+++ b/drivers/pinctrl/Kconfig
@@ -97,7 +97,7 @@  config PINCTRL_AT91PIO4
 
 config PINCTRL_AMD
 	tristate "AMD GPIO pin control"
-	depends on GPIOLIB
+	select GPIOLIB
 	select GPIOLIB_IRQCHIP
 	select PINCONF
 	select GENERIC_PINCONF
@@ -156,6 +156,7 @@  config PINCTRL_MCP23S08
 	tristate "Microchip MCP23xxx I/O expander"
 	depends on SPI_MASTER || I2C
 	depends on I2C || I2C=n
+	select GPIOLIB
 	select GPIOLIB_IRQCHIP
 	select REGMAP_I2C if I2C
 	select REGMAP_SPI if SPI_MASTER
@@ -224,10 +225,11 @@  config PINCTRL_SIRF
 
 config PINCTRL_SX150X
 	bool "Semtech SX150x I2C GPIO expander pinctrl driver"
-	depends on GPIOLIB && I2C=y
+	depends on I2C=y
 	select PINMUX
 	select PINCONF
 	select GENERIC_PINCONF
+	select GPIOLIB
 	select GPIOLIB_IRQCHIP
 	select REGMAP
 	help
diff --git a/drivers/pinctrl/intel/Kconfig b/drivers/pinctrl/intel/Kconfig
index f30720a752f3..7fb1b9937c39 100644
--- a/drivers/pinctrl/intel/Kconfig
+++ b/drivers/pinctrl/intel/Kconfig
@@ -5,7 +5,8 @@  if (X86 || COMPILE_TEST)
 
 config PINCTRL_BAYTRAIL
 	bool "Intel Baytrail GPIO pin control"
-	depends on GPIOLIB && ACPI
+	depends on ACPI
+	select GPIOLIB
 	select GPIOLIB_IRQCHIP
 	select PINMUX
 	select PINCONF