Subject: Re: linux-next: build failure after merge of the ext4 tree

From: Sam Ravnborg <[email-masked]>
Date: Fri, 16 Aug 2013 19:14:48 +0200

On Fri, Aug 16, 2013 at 03:10:38PM +0200, Michal Marek wrote:
> On 11.8.2013 23:39, Yann E. MORIN wrote:
> > On 2013-08-09 13:42 +0200, Sam Ravnborg spake thusly:
> >> If we drop the special handling of "MODULES" and introduced
> >> the following in we may fix it - hopefully:
> >>
> >> config MODULES
> >> 	option modules
> >>
> >> The option handling is already in place. It is even documented :-)
> > 
> > Yes, indeed, that one is pretty easy! :-)
> > 
> >> At least we could then drop the sym_lookup here (zconf.y):
> >>         if (!modules_sym->prop) {
> >>                 struct property *prop;
> >>
> >>                 prop = prop_alloc(P_DEFAULT, modules_sym);
> >>                 prop->expr = expr_alloc_symbol(sym_lookup("MODULES", 0));
> >>         }
> >> Without the sym_lookup I think the symbol will not be defined and tus not marked valid.
> > 
> > Sorry, I don't understand what we should do here.
> > 
> > From what I understand, here's what happens:
> >   - there's no symbol that declared the 'modules' option, so the
> >     modules_sym->prop is NULL;
> >   - so we look for the symbol 'MODULES' and use that as the symbol used
> >     to evaluate if tristates are enabled.
> > 
> > So, now we have 'option modules' added to MODULES, we never enter this
> > if() condition.
> > 
> > But what would happen to other projects that do not have a symbol set
> > with 'option modules' and no 'MODULES' symbol? Surely, those projects do
> > not need tristates, but what should the code do in this case?
> > 
> > So, I don't know what to replace this 'sym_lookup("MODULES", 0)' with.
> 
> If the Kconfig files do not provide any symbol with 'option modules',
> then set modules_sym to a dummy bool with the value 'n'?
This is my thinking too - to use the symbol "n".
But I wanted to try it out - but so far have not had time for it.

	Sam