]> 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
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
-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
@@ -285,12 +284,17 @@ choices:
        "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
index dd243d2abd875b535d006535232821eefad3460b..297b079ae4d9f0decbabc76d0f7e833e20aadadb 100644 (file)
@@ -375,7 +375,9 @@ load:
                                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:
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;
+       struct symbol *choice_sym = NULL;
        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);
+               /*
+                * 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))
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=...
+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