From: Randy Dunlap <rdunlap@xenotime.net>
To: Tim Shepard <shep@alum.mit.edu>
Cc: linux-kernel@vger.kernel.org
Subject: Re: CONFIG_EXPERT is a booby trap
Date: Sun, 30 Sep 2012 20:24:46 -0700 [thread overview]
Message-ID: <50690CFE.6010600@xenotime.net> (raw)
In-Reply-To: <E1TIVdh-0007iT-00@www.xplot.org>
On 09/30/2012 07:21 PM, Tim Shepard wrote:
> A month or two ago when I attempted to upgrade from 3.4 to 3.5 on my
> MacBook Pro laptop, in preparation to try an interesting patch to TCP
> developed against 3.5 by a colleague, my keyboard stopped working. I
> tried bisecting, but that lead to nowhere useful and much confusion.
>
>
> It turns out that while I was looking for some debug options under
> "General setup" and "Kernel hacking", I turned on "Configure standard
> kernel features (expert users)" which is also known as CONFIG_EXPERT.
> I read the documentation for that option, and I perused the options
> which appeared underneath when it was turned on, thought to myself "oh,
> hmm, I don't want to change any of these" and wandered off and
> eventually found what I was actually looking for elsewhere in the
> kernel configuration tree.
>
> This weekend I finally figured out why the keyboard in my MacBook Pro
> stopped working between 3.4 and 3.5.
>
> When I turned on CONFIG_EXPERT it turned off CONFIG_HID_APPLE. There
> was no warning that selecting "Configure standard kernel features" will
> invisibly turn off needed things elsewhere in the configuration tree.
>
> Something needs to be fixed, but it's not obvious that any simple change
> will work without causing other troubles.
>
> I've read some of the lkml history history and learned that references
> to CONFIG_EXPERT (like the one on CONFIG_HID_APPLE) used to be
> references to CONFIG_EMBEDDED, so CONFIG_EXPERT used to mean something
> else.
>
> Maybe "make menuconfig" should show you all the things that you've just
> changed and ask for confirmation when changing one configuration option
> causes actual configuration changes elsewhere in the tree.
>
> And may I suggest that CONFIG_EXPERT should be factored into two
> CONFIGs, one of which makes configuration things visible, and another
> which changes the default values to something more appropriate for
> embedded systems (perhaps call it CONFIG_EMBEDDED_DEFAULTS). That way
> you'd have to select CONFIG_EXPERT, and then select the
> CONFIG_EMBEDDED_DEFAULTS option that CONFIG_EXPERT made visible to
> actually change any configuration, and the documentation for
> CONFIG_EMBEDDED_DEFAULTS could explain that it changes defaults
> throughout the tree (and selecting CONFIG_EXPERT alone would not go off
> and muck things up with no warning).
>
> The transition plan such a factoring needs some further thought to avoid
> breaking anyone's current configuration when they "make oldconfig".
I don't disagree with you that it can be a problem, but
the help text for CONFIG_EXPERT does say:
Only use this if you really know what you are doing.
Anyway, the hid drivers are certainly a big user of this mechanism.
Many of them are like HID_APPLE:
config HID_APPLE
tristate "Apple {i,Power,Mac}Books" if EXPERT
depends on (USB_HID || BT_HIDP)
default !EXPERT
--
~Randy
next prev parent reply other threads:[~2012-10-01 3:24 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-01 2:21 CONFIG_EXPERT is a booby trap Tim Shepard
2012-10-01 3:24 ` Randy Dunlap [this message]
2012-10-01 4:32 ` Tim Shepard
2012-10-01 18:07 ` Olaf Titz
2012-10-02 3:44 ` David Rientjes
2012-10-01 23:06 ` Josh Triplett
2012-10-01 9:09 ` Mikael Pettersson
2012-10-02 3:49 ` David Rientjes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50690CFE.6010600@xenotime.net \
--to=rdunlap@xenotime.net \
--cc=linux-kernel@vger.kernel.org \
--cc=shep@alum.mit.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.