Hi Tycho, On Fri, May 19, 2017 at 5:08 PM, Tycho Andersen <tycho@xxxxxxxxxx> wrote: > ...regardless of visibility. > > When a symbol that is not visible by default (e.g. PNFS_FLEXFILE_LAYOUT) > has a default value, it is impossible to set the value to something not the > default: > > ~/packages/linux render-symbol-inputs grep FLEXFILE .config > CONFIG_PNFS_FLEXFILE_LAYOUT=y > ~/packages/linux render-symbol-inputs make oldconfig > scripts/kconfig/conf --oldconfig Kconfig > ~/packages/linux render-symbol-inputs grep FLEXFILE .config > CONFIG_PNFS_FLEXFILE_LAYOUT=m > > There are two reasons for this: the symbol's user input value is only > considered when it is visible (hunks 2 and 3), and the user values are > explicitly ignored (hunk 1) if the symbols are not visible. > > It's not clear to me why hunk 1 exists. I'm sure it solve some problem, but > I'm not sure why we would ever want to discard user input values, and > causes a problem exactly as the comment describes. This is intentional. If a symbol is not visible, it's not meant to be changed by the user, as doing so may break things (at build or runtime). E.g. running "make oldconfig" after a kernel upgrade may retain the old state of a variable, which is now invalid. Ignoring invisible symbols avoids this. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html