Message ID | 20210719202844.18281-1-rrichter@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] Documentation/kbuild: Document the kconfig choice default value | expand |
On Tue, Jul 20, 2021 at 5:29 AM Robert Richter <rrichter@amd.com> wrote: > > Document how choice defaults are determined: > > Default of a choice is its first visible choice element unless it is > explicitly set by the 'default' property [1]. Choice elements do not > support default attributes. [2] > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/kconfig/symbol.c?h=v5.14-rc1#n245 > [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/kconfig/menu.c?h=v5.14-rc1#n494 > > Signed-off-by: Robert Richter <rrichter@amd.com> > --- > v3: Fix base of v2 (rebased onto v5.14-rc2) > v2: clarification on 'default' attribute of a choice > added example > --- > Documentation/kbuild/kconfig-language.rst | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/Documentation/kbuild/kconfig-language.rst b/Documentation/kbuild/kconfig-language.rst > index 98c24183d8c3..d919dde0bcbf 100644 > --- a/Documentation/kbuild/kconfig-language.rst > +++ b/Documentation/kbuild/kconfig-language.rst > @@ -417,6 +417,21 @@ definitions of that choice. If a [symbol] is associated to the choice, > then you may define the same choice (i.e. with the same entries) in another > place. > > +The default value of a choice is set to the first visible choice > +element unless it is explicitly set by the 'default' property. > + > +Note: > + Choice options do not support the 'default' attribute. > + > +E.g.:: > + > + choice > + default C1 > + config C0 > + config C1 > + # no default attribute here > + endchoice > + > comment:: > > "comment" <prompt> > -- > 2.29.2 > I am not sure whether this note is needed or not, anyway the code example is wrong. Kconfig:3:warning: config symbol defined without type Kconfig:4:warning: config symbol defined without type Kconfig:3:warning: choice value must have a prompt Kconfig:4:warning: choice value must have a prompt Kconfig:1:warning: config symbol defined without type Kconfig:1:warning: choice must have a prompt
diff --git a/Documentation/kbuild/kconfig-language.rst b/Documentation/kbuild/kconfig-language.rst index 98c24183d8c3..d919dde0bcbf 100644 --- a/Documentation/kbuild/kconfig-language.rst +++ b/Documentation/kbuild/kconfig-language.rst @@ -417,6 +417,21 @@ definitions of that choice. If a [symbol] is associated to the choice, then you may define the same choice (i.e. with the same entries) in another place. +The default value of a choice is set to the first visible choice +element unless it is explicitly set by the 'default' property. + +Note: + Choice options do not support the 'default' attribute. + +E.g.:: + + choice + default C1 + config C0 + config C1 + # no default attribute here + endchoice + comment:: "comment" <prompt>
Document how choice defaults are determined: Default of a choice is its first visible choice element unless it is explicitly set by the 'default' property [1]. Choice elements do not support default attributes. [2] [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/kconfig/symbol.c?h=v5.14-rc1#n245 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/scripts/kconfig/menu.c?h=v5.14-rc1#n494 Signed-off-by: Robert Richter <rrichter@amd.com> --- v3: Fix base of v2 (rebased onto v5.14-rc2) v2: clarification on 'default' attribute of a choice added example --- Documentation/kbuild/kconfig-language.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+)