Re: [PATCH] gpio: winbond: fix ISA_BUS_API dependency
From: Maciej S. Szmigiero
Date: Thu Jan 11 2018 - 07:41:04 EST
On 11.01.2018 10:18, Linus Walleij wrote:
> On Thu, Jan 11, 2018 at 9:35 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote:
>
>> The newly added GPIO driver for winbond chipsets causes a
>> circular dependency warning in Kconfig:
>>
>> drivers/gpio/Kconfig:13:error: recursive dependency detected!
>> drivers/gpio/Kconfig:13: symbol GPIOLIB is selected by STX104
>> drivers/iio/adc/Kconfig:699: symbol STX104 depends on ISA_BUS_API
>> arch/Kconfig:830: symbol ISA_BUS_API is selected by GPIO_WINBOND
>> drivers/gpio/Kconfig:701: symbol GPIO_WINBOND depends on GPIOLIB
>>
>> The underlying problem is that ISA_BUS_API is not meant to be selected by
>> device drivers, instead it is provided by the architectures that support
>> ISA add-on card devices, or in case of x86 have this explicitly enabled.
>>
>> This particular driver appears to be different from the other ISA_BUS_API
>> based drivers, in that it is not normally an add-on card (ISA or PC104)
>> but instead is an LPC-attached component on the mainboard. We already
>> support other functionality provided by this chip, at least
>> drivers/watchdog/w83627hf_wdt.c and drivers/hwmon/w83627ehf.c, plus
>> there is a discovery function for this hardware in
>> drivers/parport/parport_pc.c.
>>
>> If we want to use this driver without having to enable CONFIG_EXPERT,
>> it might be better to not use the isa_bus_type for it, but rather
>> turn it into a platform_driver, acpi_driver or add an MFD for it that
>> is shared with the wdt and hwmon portions and does the probing.
>>
>> For now, this patch fixes the dependency by changing 'select' into
>> 'depends on'.
>>
>> Cc: William Breathitt Gray <vilhelm.gray@xxxxxxxxx>
>> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
>> Cc: Maciej S. Szmigiero <mail@xxxxxxxxxxxxxxxxxxxxx>
>> Cc: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>> Fixes: a0d65009411c ("gpio: winbond: Add driver")
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> I've tentatively applied this patch so we don't break the builds.
>
> We had a bunch of discussion about this already ... I guess we
> need to go at it again, waiting for comments from Maciej and
> William.
Hmm, you didn't finally pick William's ISA_BUS_API changes via
your gpio tree?
(sorry for not spotting this when this driver was merged)
These changes make ISA_BUS_API selectable by drivers since it isn't
really a bus support (which is enabled by ISA_BUS), but it is more
like a library code.
> Yours,
> Linus Walleij
>
Best regards,
Maciej Szmigiero