Re: Kconfig circular dependency question

From: Larry Finger
Date: Sun Apr 06 2014 - 17:03:37 EST


On 04/06/2014 03:31 PM, Randy Dunlap wrote:
On 04/06/2014 12:49 PM, Larry Finger wrote:
A kernel build is reporting the following:

net/rfkill/Kconfig:4:error: recursive dependency detected!
net/rfkill/Kconfig:4: symbol RFKILL is selected by R8723AU
drivers/staging/rtl8723au/Kconfig:1: symbol R8723AU depends on USB
drivers/usb/Kconfig:41: symbol USB is selected by MOUSE_APPLETOUCH
drivers/input/mouse/Kconfig:162: symbol MOUSE_APPLETOUCH depends on INPUT
drivers/input/Kconfig:8: symbol INPUT is selected by ACPI_CMPC
drivers/platform/x86/Kconfig:635: symbol ACPI_CMPC depends on RFKILL

What is the recommended way to avoid this circularity? Of course, R8723AU could select USB rather than depending on it, but that does not seem quite right.

I don't know if it will fix the problem, but Linus has spoken (written)
against selecting subsystems, like INPUT or USB.

Does changing ACPI_CMPC to depend on INPUT instead of select INPUT
help?
and/or changing MOUSE_APPLETOUCH to depend on USB instead of select it?

This case seems to prove why Linus has so spoken!

Changing ACPI_CMPC to depend on INPUT does fix the build. Making the change to MOUSE_APPLETOUCH ends up getting a different recursive error.

Thanks for your suggestion. As I do not "own" the x86 platform drivers, I will have to post a patch to fix the ACPI_CMPC problem, but at least I know what to say in the commit message that adds the RFKILL selection to the R8723AU Kconfig.

Larry



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/