Re: [REGRESSION] dell-wmi, dell-laptop: select DMI, Kconfig recursive dependency

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 23, 2016 at 8:29 AM, Jeremiah Mahler <jmmahler@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux