Re: [RFC PATCH] kconfig: introduce KCONFIG_* symbols for .c files

Sam Ravnborg
2008-05-24T20:59:53Z

On Sat, May 24, 2008 at 01:48:15PM -0700, Andrew Morton wrote:
> On Sat, 24 May 2008 22:24:27 +0200 Sam Ravnborg <sam@ravnborg.org> wrote:
>
> > > It could help to get us out of the occasional sticky situation, but it
> > > does seem a bit risky. What happens with Kconfig variables which are
> > > just not known about at all with some .configs?
> > >
> > > Silly example, one could add
> > >
> > > if (KCONFIG_DVB_VES1820)
> > >
> > > to kernel/sched.c and that would work happily until someone sets DVB=n,
> > > in which case I assume KCONFIG_DVB_VES1820 doesn't get defined
> > > anywhere?
> > It would have helped if I had applied the correct patch...
> > All boolean and tristate symbols in the konfiguration have
> > their symbols defined as KCONFIG_* no matter their values.
> > So KCONFIG_DVB_VES1820 would get defined.
>
> But there are still holes - KCONFIG_ARCH_FOOTBRIDGE wouldn't be defined
> on x86, for example.
Not today where we have one configuration definition per architecture.

I hope we one day can change that so we have one for the whole
kernel.
This would for example allow us to detect when someone do
a misspelled "depends on FOOBAR" because it will no longer be
a normal situation to depend on unknow symbols.

> Anything which is inside an `if' or inside an
> if/source/endif will not be known about? I assume?
These symbols would be know of - their value would just be 0.
The correct patch (last one posted) does this.

Sam