Messages in this thread | | | Date | Fri, 19 May 2017 12:09:23 -0600 | From | Tycho Andersen <> | Subject | Re: [PATCH] kconfig: always use user input symbols |
| |
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@docker.com> 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
| |