Re: [PATCH][RFC] check for select dependency errors on config load

Andrew Morton
2009-02-21T06:08:37Z

On Sat, 21 Feb 2009 00:24:05 -0500 (EST) Steven Rostedt <rostedt@goodmis.org> wrote:

>
> There's been a few problems with SELECT and dependencies lately.
> I've been burnt by it a few times myself. So I look at the kconfig
> code and added this patch. It can use a bit more work but it does what
> I want.
>
> When the config is loaded, it checks all the symbols that are
> selected by an active config and makes sure the visible dependencies are
> also activated. This should probably be moved to the writing of the
> config instead, but since I just wanted to see if my current config was
> OK, I did it on load. This is an RFC patch anyway, so fixes/comments are
> definitely welcome.
>
> Here's what I get with the attached config running on 2.6.29-rc5.
>
> $ make menuconfig
> scripts/kconfig/mconf arch/x86/Kconfig
> .config:2561:warning: MICROCODE selects FW_LOADER which fails its dependencies!
> .config:2561:warning: MICROCODE_INTEL selects FW_LOADER which fails its dependencies!
> .config:2561:warning: PCMCIA_LOAD_CIS selects FW_LOADER which fails its dependencies!
> .config:2561:warning: SCSI_SAS_LIBSAS selects SCSI_SAS_ATTRS which fails its dependencies!
> .config:2561:warning: SCSI_AIC94XX selects FW_LOADER which fails its dependencies!
> .config:2561:warning: KEYBOARD_ATKBD selects SERIO which fails its dependencies!
> .config:2561:warning: KEYBOARD_ATKBD selects SERIO_LIBPS2 which fails its dependencies!
> .config:2561:warning: KEYBOARD_ATKBD selects SERIO_I8042 which fails its dependencies!
> .config:2561:warning: MOUSE_PS2 selects SERIO which fails its dependencies!
> .config:2561:warning: MOUSE_PS2 selects SERIO_LIBPS2 which fails its dependencies!
> .config:2561:warning: MOUSE_PS2 selects SERIO_I8042 which fails its dependencies!
> .config:2561:warning: VT selects INPUT which fails its dependencies!
> .config:2561:warning: DRM selects I2C_ALGOBIT which fails its dependencies!
> .config:2561:warning: SND_EMU10K1 selects FW_LOADER which fails its dependencies!
>
> <exit out>
>

OK, this is fairly easy to use.

You get

.config:1181:warning: PCMCIA_LOAD_CIS selects FW_LOADER which fails its dependencies!

So you then go into `make menuconfig' and type /^fw_loader$ to display
FW_LOADER's dependencies.

Depends on: HOTPLUG && EMBEDDED

then do `egrep "HOTPLUG|EMBEDDED" .config'

And we discover weird things. Why does FW_LOADER depend on EMBEDDED?

And why the heck does INPUT depend on EMBEDDED?!??!

And what's up with CONFIG_SERIO?

Depends on: !S390 && (EMBEDDED || !X86)

hm.