Re: [PATCH 1/4] kconfig: add short explanation to SYMBOL_WRITE

Martin Walch
2013-10-02T23:39:17Z

> > diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h
> > index df198a5..ba663e1 100644
> > --- a/scripts/kconfig/expr.h
> > +++ b/scripts/kconfig/expr.h
> > @@ -93,7 +93,7 @@ struct symbol {
> > #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' */
> > -#define SYMBOL_WRITE 0x0200 /* ? */
> > +#define SYMBOL_WRITE 0x0200 /* write symbol to file (KCONFIG_CONFIG) */
> > #define SYMBOL_CHANGED 0x0400 /* ? */
> > #define SYMBOL_AUTO 0x1000 /* value from environment variable */
> > #define SYMBOL_CHECKED 0x2000 /* used during dependency checking */
>
> Perhaps stating that the choice is writable by the user?

As far as I understand SYMBOL_WRITE, its main purpose is in the function
conf_write in confdata.c:

>if (!(sym->flags & SYMBOL_WRITE))
> goto next;
>sym->flags &= ~SYMBOL_WRITE;
>
>conf_write_symbol(out, sym, &kconfig_printer_cb, NULL);

So, if I have not missed anything, SYMBOL_WRITE decides whether to write a symbol
to .config or not. This does not necessarily mean that the user can change the value.
SYMBOL_WRITE may be set and the symbol may be written to .config while the user
does not even see the corresponding prompt.