Re: [PATCH] kconfig: untangle EXPERT and EMBEDDED

From: Andrew Jones
Date: Tue Jan 17 2012 - 09:30:34 EST


On Mon, Jan 16, 2012 at 03:28:02PM -0800, David Rientjes wrote:
> > even notice this problem? As you say, EMBEDDED does nothing more than
> > select EXPERT, which does exactly the same thing as EMBEDDED did.
>
> Except now it can be extended for its original semantics, as I've
> explained to you multiple times.

Extend yes, but you could have done that without introducing EXPERT. To
extend you simply use it in more places.

Now changing it, i.e. making it conform more closely to its name and only
affect embedded related options, you can't do. If you were to do so, then
you would lose backward compatibility. How do you know there aren't users
that started using EMBEDDED for the non-embedded side effects? If EMBEDDED
is ever corrected, and then stops selecting EXPERT, then you risk causing
them problems.

If you didn't catch the irony in the last paragraph, then please read it
again.

> You may be underestimating how popular CONFIG_EXPERT is.

I doubt it. I don't doubt that it's used through EMBEDDED. EMBEDDED has
been around a long time, so is likely widely used. Since EMBEDDED is used,
then yes, EXPERT is used (EMBEDDED selects EXPERT). However, I really
doubt anybody has opted to use EXPERT by itself for the purpose advertised
in its help text. If they had, then they very likely would have complained
about it turning off default values, and/or they would have posted a patch
very similar to this one. Hint, I wanted to use EXPERT, but immediately
discovered that it's broken, and then immediately posted this patch.

> That's the only way you can extend CONFIG_EMBEDDED to actually mean
> something and is exactly what we wanted to do when the patch was merged:
> allow it to identify options that embedded users will want to configure
> without exposing all of CONFIG_EXPERT.

Fine. It's not in the scope of this patch.

> more concerning that you don't care that they'll now silently lose config
> options next time they run make oldconfig with your patch.

If they have CONFIG_EMBEDDED=y, then nothing changes for them. If they
only have CONFIG_EXPERT=y, then they *DON'T* silently lose config options
*ANYMORE*. This patch fixes that silent disabling of options!

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