Messages in this thread | | | From | Andy Lutomirski <> | Date | Tue, 23 Feb 2016 09:57:18 -0800 | Subject | Re: [REGRESSION] dell-wmi, dell-laptop: select DMI, Kconfig recursive dependency |
| |
On Tue, Feb 23, 2016 at 8:29 AM, Jeremiah Mahler <jmmahler@gmail.com> wrote: > Hi Andy, > > Running the latest linux-next I am getting a Kconfig recursive > dependency detected message that was not present before.
Here's a heavily edited version, because the actual output is unreadable.
> > jeri@hudson:~/linux-next$ make oldconfig > scripts/kconfig/conf --oldconfig Kconfig > drivers/gpio/Kconfig:34:error: recursive dependency detected! > drivers/gpio/Kconfig:34: symbol GPIOLIB is selected by GEOS > arch/x86/Kconfig:2572: symbol GEOS depends on DMI > arch/x86/Kconfig:810: symbol DMI is selected by DELL_LAPTOP > drivers/platform/x86/Kconfig:104: symbol DELL_LAPTOP depends on BACKLIGHT_CLASS_DEVICE > drivers/video/backlight/Kconfig:158: symbol BACKLIGHT_CLASS_DEVICE is selected by FB_BACKLIGHT > drivers/video/fbdev/Kconfig:192: symbol FB_BACKLIGHT is selected by FB_SSD1307 > drivers/video/fbdev/Kconfig:2463: symbol FB_SSD1307 depends on GPIOLIB
This is still unreadable because "selected by" is confusingly backwards. Let's rewrite where --> means "depends" and ==> means "selects".
GEOS ==> GPIOLIB GEOS --> DMI DELL_LAPTOP ==> DMI DELL_LAPTOP --> BACKLIGHT_CLASS_DEVICE FB_BACKLIGHT ==> BACKLIGHT_CLASS_DEVICE FB_SSD1307 ==> FB_BACKLIGHT FB_SSD1307 --> GPIOLIB
Which has no recursive dependencies. Unfortunately, it seems that actual limitation isn't that kconfig can't handle recursive dependencies -- it's that it can't handle cycles in the graph in which all the "select" edges are *backwards*.
Presumably we should either make DELL_LAPTOP depend on DMI instead of selecting it or we should complain to the kconfig maintainers.
Kconfig people: what's the actual problem here?
--Andy
| |