]> git.sur5r.net Git - kconfig-frontends/commitdiff
Synchronise with v4.7
authorYann E. MORIN <yann.morin.1998@free.fr>
Tue, 2 Aug 2016 20:52:12 +0000 (22:52 +0200)
committerYann E. MORIN <yann.morin.1998@free.fr>
Tue, 2 Aug 2016 22:16:47 +0000 (00:16 +0200)
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
.version
docs/kconfig-language.txt
libs/parser/confdata.c
libs/parser/symbol.c
scripts/ksync.log

index e50d722a5d0f975a8f77812ee0dffe976ef7bb93..b97b95c00caa38d8ae91e2e967faa2fd5453c055 100644 (file)
--- a/.version
+++ b/.version
@@ -1,2 +1,2 @@
-4.6.0 2dcd0af568b0cf583645c8a317dd12e344b1c72a Charred Weasel
+4.7.0 523d939ef98fd712632d93a5a2b588e477a7565e Psychotic Stoned Sheep
 0
 0
index c52856da0cad555c7eeecd90c9738fccf941adb2..db101857b2c98c8e1f306620be41287b41f43a25 100644 (file)
@@ -241,9 +241,8 @@ comment "module support disabled"
        depends on !MODULES
 
 MODVERSIONS directly depends on MODULES, this means it's only visible if
        depends on !MODULES
 
 MODVERSIONS directly depends on MODULES, this means it's only visible if
-MODULES is different from 'n'. The comment on the other hand is always
-visible when MODULES is visible (the (empty) dependency of MODULES is
-also part of the comment dependencies).
+MODULES is different from 'n'. The comment on the other hand is only
+visible when MODULES is set to 'n'.
 
 
 Kconfig syntax
 
 
 Kconfig syntax
@@ -285,12 +284,17 @@ choices:
        "endchoice"
 
 This defines a choice group and accepts any of the above attributes as
        "endchoice"
 
 This defines a choice group and accepts any of the above attributes as
-options. A choice can only be of type bool or tristate, while a boolean
-choice only allows a single config entry to be selected, a tristate
-choice also allows any number of config entries to be set to 'm'. This
-can be used if multiple drivers for a single hardware exists and only a
-single driver can be compiled/loaded into the kernel, but all drivers
-can be compiled as modules.
+options. A choice can only be of type bool or tristate.  If no type is
+specified for a choice, it's type will be determined by the type of
+the first choice element in the group or remain unknown if none of the
+choice elements have a type specified, as well.
+
+While a boolean choice only allows a single config entry to be
+selected, a tristate choice also allows any number of config entries
+to be set to 'm'. This can be used if multiple drivers for a single
+hardware exists and only a single driver can be compiled/loaded into
+the kernel, but all drivers can be compiled as modules.
+
 A choice accepts another option "optional", which allows to set the
 choice to 'n' and no entry needs to be selected.
 If no [symbol] is associated with a choice, then you can not have multiple
 A choice accepts another option "optional", which allows to set the
 choice to 'n' and no entry needs to be selected.
 If no [symbol] is associated with a choice, then you can not have multiple
index dd243d2abd875b535d006535232821eefad3460b..297b079ae4d9f0decbabc76d0f7e833e20aadadb 100644 (file)
@@ -375,7 +375,9 @@ load:
                                continue;
                } else {
                        if (line[0] != '\r' && line[0] != '\n')
                                continue;
                } else {
                        if (line[0] != '\r' && line[0] != '\n')
-                               conf_warning("unexpected data");
+                               conf_warning("unexpected data: %.*s",
+                                            (int)strcspn(line, "\r\n"), line);
+
                        continue;
                }
 setsym:
                        continue;
                }
 setsym:
index 25cf0c2c0c795ac36658a2bfa061c9f3383630a1..2432298487fb330d04e365fa2b1c81ed6fbba691 100644 (file)
@@ -209,12 +209,26 @@ static void sym_set_all_changed(void)
 static void sym_calc_visibility(struct symbol *sym)
 {
        struct property *prop;
 static void sym_calc_visibility(struct symbol *sym)
 {
        struct property *prop;
+       struct symbol *choice_sym = NULL;
        tristate tri;
 
        /* any prompt visible? */
        tri = no;
        tristate tri;
 
        /* any prompt visible? */
        tri = no;
+
+       if (sym_is_choice_value(sym))
+               choice_sym = prop_get_symbol(sym_get_choice_prop(sym));
+
        for_all_prompts(sym, prop) {
                prop->visible.tri = expr_calc_value(prop->visible.expr);
        for_all_prompts(sym, prop) {
                prop->visible.tri = expr_calc_value(prop->visible.expr);
+               /*
+                * Tristate choice_values with visibility 'mod' are
+                * not visible if the corresponding choice's value is
+                * 'yes'.
+                */
+               if (choice_sym && sym->type == S_TRISTATE &&
+                   prop->visible.tri == mod && choice_sym->curr.tri == yes)
+                       prop->visible.tri = no;
+
                tri = EXPR_OR(tri, prop->visible.tri);
        }
        if (tri == mod && (sym->type != S_TRISTATE || modules_val == no))
                tri = EXPR_OR(tri, prop->visible.tri);
        }
        if (tri == mod && (sym->type != S_TRISTATE || modules_val == no))
index 6505918bd8020fe03500e5f574d918ac4c2e95df..6e02beb126b8bb1cea82fc7153f518fe45173389 100644 (file)
@@ -160,3 +160,7 @@ be596aa Add current selection check.
 aab24a8 kconfig: return 'false' instead of 'no' in bool function
 5b61c7b kconfig: fix qconf segfault by deleting heap objects
 6b87b70 unbreak allmodconfig KCONFIG_ALLCONFIG=...
 aab24a8 kconfig: return 'false' instead of 'no' in bool function
 5b61c7b kconfig: fix qconf segfault by deleting heap objects
 6b87b70 unbreak allmodconfig KCONFIG_ALLCONFIG=...
+a466391 kconfig: add unexpected data itself to warning
+3e2ba95 kconfig-language: fix comment on dependency-generated menu structures.
+032a318 kconfig-language: elaborate on the type of a choice
+fa64e5f kconfig/symbol.c: handle choice_values that depend on 'm' symbols