Re: [PATCH] Enable 'make CONFIG_FOO=y oldconfig'

From: Michal Marek
Date: Fri Jun 24 2011 - 09:49:52 EST


On 31.5.2011 18:12, Arnaud Lacombe wrote:
Hi,

On Tue, May 31, 2011 at 11:48 AM, David Woodhouse<dwmw2@xxxxxxxxxxxxx> wrote:
On Mon, 2011-05-30 at 20:24 -0400, Arnaud Lacombe wrote:
It would seem that the underlying symbol is not visible, triggering
the failure of sym_set_tristate_value().

Yes, this only lets you set *visible* symbols. If the symbol you're
interested in is not visible because some of its dependencies are not
set, it doesn't go and automatically enable those.

As for this choice, it *is* visible. You are missing a call to
`sym_calc_value()' (actually sym_calc_visibility() but it is not
exported) before the conditional to correct the visibility.

David, will you post a patch with this fix?

$ make CONFIG_ARCH_OMAP=y ARCH=arm allnoconfig
$ grep CONFIG_ARCH_OMAP .config
# CONFIG_ARCH_OMAP is not set
vs.
$ echo CONFIG_ARCH_OMAP=y >all.config
$ make ARCH=arm allnoconfig
$ grep CONFIG_ARCH_OMAP .config
CONFIG_ARCH_OMAP=y
...


Beside that, if the environment is to influence the configuration
unconditionally, it would rather be better to do that when the Kconfig
are parsed.

I don't quite understand what you mean here. The environment variables are evaluated right after the potential all*.config file is read. Do you think there is a problem with that?

Michal
--
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/