On 01/11/2012 04:16 PM, Andrew Jones wrote: > Commit 6a108a14fa35 renamed CONFIG_EMBEDDED to CONFIG_EXPERT with the > justification that EMBEDDED was being used with a broader scope. It was > no longer just being used to expose standard options to embedded kernel > configs for tweaking, but rather for all "non-standard" kernel configs. > This is nice, because now developers have a way to clean up the config > menu by adding 'if EXPERT' to all entries in their Kconfig files that > should rarely have a non-default value selected (hint1: it would be nice > if developers would do this, hint2: it would also be nice if developers > would do this rather than making these types of options silent, and thus > impossible to override). > > Unfortunately, EMBEDDED was also being used to modify the defaults of > some of these options to selections more appropriate for embedded > kernels. Since the renaming was a simple global search-replace, if > developers were to follow hints 1 and 2 above for non-embedded kernels, > then they may find unexpected changes in their configs after turning on > EXPERT. > > This patch attempts to untangle these two, making EXPERT true to its > purpose, which is to only expose standard options for tweaking, and > EMBEDDED to resume use as a default option modifier. The patch was made > with the following four steps, which could not be split into separate > patches without breaking configs > > 1. Make sure EMBEDDED does nothing, i.e. s/EMBEDDED/EXPERT/. There were > only three places EMBEDDED was used. > > 2. Add CONFIG_EXPERT=y to all configs that had CONFIG_EMBEDDED=y (and > not CONFIG_EXPERT=y already) to make sure step1 has no effect. This step > isn't strictly necessary since EMBEDDED selects EXPERT, but I wanted the > configs expressing the new need explicitly. Only 13 *_defconfig files. > > 3. Move all side effects (default changes) from EXPERT to EMBEDDED > > 4. Add CONFIG_EMBEDDED=y to all configs that had CONFIG_EXPERT=y (and > not CONFIG_EMBEDDED=y already) to make sure step3 has no effect. > > I certainly didn't test this for every touched config. However, I did > test it for one config and got the expected results; > Before patch: > 1. diff config.orig orig.EXPERT -- shows many changes > 2. diff config.orig orig.EMBEDDED -- shows same changes as (1) > plus EMBEDDED on > After patch: > 3. diff config.orig config.new -- no change > 4. diff config.orig new.EXPERT -- only 1 change, EXPERT on > 5. diff config.orig new.EMBEDDED -- shows same changes as (2) > > Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx> > --- > @@ -1259,8 +1259,7 @@ config SLUB > a slab allocator. > > config SLOB > - depends on EXPERT > - bool "SLOB (Simple Allocator)" > + bool "SLOB (Simple Allocator)" if EXPERT > help > SLOB replaces the stock allocator with a drastically simpler > allocator. SLOB is generally more space efficient but Am I missing something or this particular chunk does not actually change anything? Jerome -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html