diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap/linus/0029-kconfig-fix-undesirable-side-effect-of-adding-visibl.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap/linus/0029-kconfig-fix-undesirable-side-effect-of-adding-visibl.patch | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap/linus/0029-kconfig-fix-undesirable-side-effect-of-adding-visibl.patch b/extras/recipes-kernel/linux/linux-omap/linus/0029-kconfig-fix-undesirable-side-effect-of-adding-visibl.patch new file mode 100644 index 00000000..c1af0112 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap/linus/0029-kconfig-fix-undesirable-side-effect-of-adding-visibl.patch @@ -0,0 +1,49 @@ +From 38f5b0c391281eded0e6e5b2bc75a28ae72d0abe Mon Sep 17 00:00:00 2001 +From: Jan Beulich <JBeulich@novell.com> +Date: Thu, 9 Dec 2010 08:11:38 +0000 +Subject: [PATCH 29/65] kconfig: fix undesirable side effect of adding "visible" menu attribute + +This lead to non-selected, non-user-selectable options to be written +out to .config. This is not only pointless, but also preventing the +user to be prompted should any of those options eventually become +visible (e.g. by de-selecting the *_AUTO options the "visible" +attribute was added for. + +Furthermore it is quite logical for the "visible" attribute of a menu +to control the visibility of all contained prompts, which is what the +patch does. + +Signed-off-by: Jan Beulich <jbeulich@novell.com> +Signed-off-by: Michal Marek <mmarek@suse.cz> +--- + scripts/kconfig/menu.c | 14 ++++++++++++++ + 1 files changed, 14 insertions(+), 0 deletions(-) + +diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c +index b9d9aa1..5f77dcb 100644 +--- a/scripts/kconfig/menu.c ++++ b/scripts/kconfig/menu.c +@@ -140,6 +140,20 @@ struct property *menu_add_prop(enum prop_type type, char *prompt, struct expr *e + } + if (current_entry->prompt && current_entry != &rootmenu) + prop_warn(prop, "prompt redefined"); ++ ++ /* Apply all upper menus' visibilities to actual prompts. */ ++ if(type == P_PROMPT) { ++ struct menu *menu = current_entry; ++ ++ while ((menu = menu->parent) != NULL) { ++ if (!menu->visibility) ++ continue; ++ prop->visible.expr ++ = expr_alloc_and(prop->visible.expr, ++ menu->visibility); ++ } ++ } ++ + current_entry->prompt = prop; + } + prop->text = prompt; +-- +1.6.6.1 + |