The problem is actually that 'EXPERT=n' sets several options certain ways, but their default values are not those settings.
So technically, turning EXPERT=y is returning things to their true defaults, that 'embedded personality' as you put it.
I.E. I believe this would count as a kernel bug of sorts: The defaults for some values do not match their 'EXPERT=n' case, causing toggling that to change other unrelated features when nothing else has been changed.
Posted Jul 19, 2012 16:00 UTC (Thu) by drjones (subscriber, #60990)
[Link]
I can see how the use of 'default !EXPERT' in Kconfig files can be interpreted this way, and it may be the case for some of 'default !EXPERT' options. However, if you take the options in usr/Kconfig, for example, and look at commits
73d8a12f0529 bzip2/lzma: move CONFIG_RD_* options under CONFIG_EMBEDDED
6a108a14fa35 kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT
you'll see from the commit message of 73d8a12f0529 that the toggling default was selected with the init section size of the kernel for embedded systems in mind, and then later 6a108a14fa35 simply renamed EMBEDDED. IMHO, the general symbol name EXPERT should do nothing except expose more options to the menu. Toggling defaults to be more embedded friendly was better left to the symbol EMBEDDED.