While debugging the problem with localmodconfig and the ALSA codec
modules all being set, I discovered a small bug in the dependency
logic.

If a config has a dependency based on its setting value, localmodcondig
misses it.

For example:

config FOO
    default y if BAR || ZOO

If FOO is needed for a module and is set to '=m', and so are BAR or ZOO,
localmodconfig will not see that BAR or ZOO are also needed for the foo
module, and will incorrectly disable them.
localmodconfig: Add config depends by default settings

Currently localmodconfig will miss dependencies from the default option.
For example:

config FOO
	default y if BAR || ZOO

If FOO is needed for a module and is set to '=m', and so are BAR or ZOO,
localmodconfig will not see that BOO or ZOO are also needed for the foo
module, and will incorrectly disable them.

Link: http://lkml.kernel.org/r/20131218175137.162937350@goodmis.org

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
1 file changed