The "imply BAZ" method seems like a way to have a permanent solution to this.
I'll try to track this down. If I do that, is it something that can would be accepted as part of a PR? cheers adam On Thu, Jan 9, 2020 at 6:10 AM Gregory Nutt <spudan...@gmail.com> wrote: > > >> This is an error in the Kconfig files. This one is complex because a > >> lot of settings are involved. This kind of error occurs because you > >> are auto-selecting a setting that has dependencies that are not > >> selected. A simple example would be like > > > > config FOO > > bool "Foo" > > depends on BAR > > > > config BAZ > > bool "Baz" > > select FOO > > > > That causes the error if BAZ is not selected. Fixes: > > > > * Temporary workaround: Select BAR in the configuration > > * Select BAR before FOO when BAZ is selected > > * May BAZ depend on BAR too > > * Select FOO conditional 'select FOO if BAR' > > > There is one more option (at least). You can use 'imply FOO' instead of > 'select FOO'. Per the Kconfig-frontends documentation: > > - weak reverse dependencies: "imply" <symbol> ["if" <expr>] > This is similar to "select" as it enforces a lower limit on another > symbol except that the "implied" symbol's value may still be set to > n > from a direct dependency or with a visible prompt. > > Given the following example: > > config FOO > tristate > imply BAZ > > config BAZ > tristate > depends on BAR > > The following values are possible: > > FOO BAR BAZ's default choice for BAZ > --- --- ------------- -------------- > n y n N/m/y > m y m M/y/n > y y y Y/n > y n * N > > This is useful e.g. with multiple drivers that want to indicate > their > ability to hook into a secondary subsystem while allowing the user > to > configure that subsystem out without also having to unset these > drivers. > > Greg > > -- Adam Feuer <a...@starcat.io>