diff mbox series

[v5,1/5] i2c: muxes: ltc4306: fix future recursive dependencies

Message ID 20220927025050.13316-2-matt.ranostay@konsulko.com
State Changes Requested
Delegated to: Peter Rosin
Headers show
Series HID: mcp2221: iio support and device resource management | expand

Commit Message

Matt Ranostay Sept. 27, 2022, 2:50 a.m. UTC
When using 'imply IIO' for other configurations which have 'select GPIOLIB'
the following recursive dependency is detected for I2C_MUX_LTC4306

Switch from 'select GPIOLIB' to 'depends on GPIOLIB' to avoid this per
recommendation in kconfig-language.rst

drivers/gpio/Kconfig:14:error: recursive dependency detected!
drivers/gpio/Kconfig:14:        symbol GPIOLIB is selected by I2C_MUX_LTC4306
drivers/i2c/muxes/Kconfig:47:   symbol I2C_MUX_LTC4306 depends on I2C_MUX
drivers/i2c/Kconfig:62: symbol I2C_MUX is selected by MPU3050_I2C
drivers/iio/gyro/Kconfig:127:   symbol MPU3050_I2C depends on IIO
drivers/iio/Kconfig:6:  symbol IIO is implied by HID_MCP2221
drivers/hid/Kconfig:1227:       symbol HID_MCP2221 depends on GPIOLIB

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
---
 drivers/i2c/muxes/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Rosin Sept. 29, 2022, 1:48 p.m. UTC | #1
Hi!

2022-09-27 at 04:50, Matt Ranostay wrote:
> When using 'imply IIO' for other configurations which have 'select GPIOLIB'
> the following recursive dependency is detected for I2C_MUX_LTC4306
> 
> Switch from 'select GPIOLIB' to 'depends on GPIOLIB' to avoid this per
> recommendation in kconfig-language.rst

I find that it is a bit sad and unfriendly that drivers are hidden from
the user unless the user has previously selected GPIOLIB. Configuring the
kernel is bad as it is. Since GPIOLIB is not really a strong dependency
for this driver (at least I think the device may function well enough
without GPIO support) couldn't the mcp2221 driver "imply GPIOLIB" as well?

Then it's only one driver that is affected and not a set of random drivers
like this.

Cheers,
Peter

> drivers/gpio/Kconfig:14:error: recursive dependency detected!
> drivers/gpio/Kconfig:14:        symbol GPIOLIB is selected by I2C_MUX_LTC4306
> drivers/i2c/muxes/Kconfig:47:   symbol I2C_MUX_LTC4306 depends on I2C_MUX
> drivers/i2c/Kconfig:62: symbol I2C_MUX is selected by MPU3050_I2C
> drivers/iio/gyro/Kconfig:127:   symbol MPU3050_I2C depends on IIO
> drivers/iio/Kconfig:6:  symbol IIO is implied by HID_MCP2221
> drivers/hid/Kconfig:1227:       symbol HID_MCP2221 depends on GPIOLIB
> 
> Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
> ---
>  drivers/i2c/muxes/Kconfig | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
> index 1708b1a82da2..8642ea8e0a3d 100644
> --- a/drivers/i2c/muxes/Kconfig
> +++ b/drivers/i2c/muxes/Kconfig
> @@ -46,7 +46,7 @@ config I2C_MUX_GPMUX
>  
>  config I2C_MUX_LTC4306
>  	tristate "LTC LTC4306/5 I2C multiplexer"
> -	select GPIOLIB
> +	depends on GPIOLIB
>  	select REGMAP_I2C
>  	help
>  	  If you say yes here you get support for the Analog Devices
diff mbox series

Patch

diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index 1708b1a82da2..8642ea8e0a3d 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -46,7 +46,7 @@  config I2C_MUX_GPMUX
 
 config I2C_MUX_LTC4306
 	tristate "LTC LTC4306/5 I2C multiplexer"
-	select GPIOLIB
+	depends on GPIOLIB
 	select REGMAP_I2C
 	help
 	  If you say yes here you get support for the Analog Devices