Re: [PATCH 2/1] init/Kconfig: Split expert menu into a separate file, init/Kconfig.expert

From: Josh Triplett
Date: Mon May 11 2015 - 18:40:42 EST


On Tue, May 12, 2015 at 12:01:27AM +0200, Paul Bolle wrote:
> On Mon, 2015-05-11 at 14:47 -0700, Josh Triplett wrote:
> > On Mon, May 11, 2015 at 11:32:28PM +0200, Paul Bolle wrote:
> > > Is squashing those two lines worth a new kconfig mechanism?
> >
> > In my opinion, yes. If you use the implicit (and error-prone)
> > menuconfig submenuing, you get a single entry with the '[ ]' and the
> > submenu. There are currently 272 instances of "menuconfig" in Kconfig
> > files.
>
> How many of those use the subtle trick EXPERT uses?

A rough search suggests about 35, with the rest using an "if" right
after the menu (presumably because they want dependencies rather than
visibility). (A couple of which currently have the same broken-menu
problem today's patch 1 fixed for EXPERT, and a couple of which are
using that trick *across input files*.)

> > I'd like to have a less error-prone mechanism for people to use,
> > with an explicit "endmenu" at the end, and I don't want to leave any
> > incentive for people to need the more error-prone version.
> >
> > I would be tempted to just make "menuconfig" require an endmenu, and
> > convert all users, but that would almost certainly break many
> > third-party users of kconfig. So instead, I'm currently extending
> > "menu" (which already expects "endmenu") to allow the syntax
> > "menu config SYMBOL", which acts like a combination of "config SYMBOL"
> > and a menu with "visible if SYMBOL".
>
> Bikeshedding (before I'm even convinced of the need of this extension):
> "menu config" is far too similar to "menuconfig".

Yeah, agreed; given that people will still end up using "menuconfig" in
light of the above, I'll use another syntax.

> > Diffstat for the patch I'm testing
> > right now:
> >
> > scripts/kconfig/zconf.y | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
> >
> > That seems worthwhile to have a less error-prone menu mechanism.
> >
> > (The actual patch would also need to updated zconf.tab.c_shipped.)
>
> And some lines in Documentation/kbuild/kconfig-language.txt (speaking
> from memory).

Good point; this does need documentation.

- Josh Triplett
--
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/