All symbols except choices have a name.
Previously, choices were allowed to have a name, but commit 
c83f020973bc
("kconfig: remove named choice support") eliminated that possibility.
Now, it is easy to distinguish choices from normal symbols; if the name
is NULL, it is a choice.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Reviewed-by: Nicolas Schier <n.schier@avm.de>
                                     "# %s\n"
                                     "#\n", str);
                        need_newline = false;
-               } else if (!(sym->flags & SYMBOL_CHOICE) &&
+               } else if (!sym_is_choice(sym) &&
                           !(sym->flags & SYMBOL_WRITTEN)) {
                        sym_calc_value(sym);
                        if (!(sym->flags & SYMBOL_WRITE))
 
 /*
  * Represents a configuration symbol.
  *
- * Choices are represented as a special kind of symbol and have the
- * SYMBOL_CHOICE bit set in 'flags'.
+ * Choices are represented as a special kind of symbol with null name.
  */
 struct symbol {
        /* link node for the hash table */
 
 #define SYMBOL_CONST      0x0001  /* symbol is const */
 #define SYMBOL_CHECK      0x0008  /* used during dependency checking */
-#define SYMBOL_CHOICE     0x0010  /* start of a choice block (null name) */
 #define SYMBOL_CHOICEVAL  0x0020  /* used as a value in a choice block */
 #define SYMBOL_VALID      0x0080  /* set when symbol.curr is calculated */
 #define SYMBOL_OPTIONAL   0x0100  /* choice is optional - values can be 'n' */
 
                strcat(buf, "const/");
        if (val & SYMBOL_CHECK)
                strcat(buf, "check/");
-       if (val & SYMBOL_CHOICE)
-               strcat(buf, "choice/");
        if (val & SYMBOL_CHOICEVAL)
                strcat(buf, "choiceval/");
        if (val & SYMBOL_VALID)
 
 
 static inline bool sym_is_choice(struct symbol *sym)
 {
-       return sym->flags & SYMBOL_CHOICE ? true : false;
+       /* A choice is a symbol with no name */
+       return sym->name == NULL;
 }
 
 static inline bool sym_is_choice_value(struct symbol *sym)
 
 
 choice: T_CHOICE T_EOL
 {
-       struct symbol *sym = sym_lookup(NULL, SYMBOL_CHOICE);
+       struct symbol *sym = sym_lookup(NULL, 0);
        sym->flags |= SYMBOL_NO_WRITE;
        menu_add_entry(sym);
        menu_add_expr(P_CHOICE, NULL, NULL);
 
                        if (symbol->name &&
                            !strcmp(symbol->name, name) &&
                            (flags ? symbol->flags & flags
-                                  : !(symbol->flags & (SYMBOL_CONST|SYMBOL_CHOICE))))
+                                  : !(symbol->flags & SYMBOL_CONST)))
                                return symbol;
                }
                new_name = xstrdup(name);