Hi Geert, On Fri, May 19, 2017 at 07:29:05PM +0200, Geert Uytterhoeven wrote: > 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. Makes sense. Thanks! Tycho -- 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