diff mbox

kconfig: Clarify choice dependency propagation

Message ID 20180114141205.26814-1-ulfalizer@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ulf Magnusson Jan. 14, 2018, 2:12 p.m. UTC
It's easy to miss that choices are special-cased to pass on their mode
as the parent dependency.

No functional changes. Only comments added.

Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
---
 scripts/kconfig/menu.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Masahiro Yamada Jan. 18, 2018, 4:47 p.m. UTC | #1
2018-01-14 23:12 GMT+09:00 Ulf Magnusson <ulfalizer@gmail.com>:
> It's easy to miss that choices are special-cased to pass on their mode
> as the parent dependency.
>
> No functional changes. Only comments added.
>
> Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
> ---
>  scripts/kconfig/menu.c | 7 +++++++
>  1 file changed, 7 insertions(+)
>
> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
> index 92d3f06cd8a2..53964d911708 100644
> --- a/scripts/kconfig/menu.c
> +++ b/scripts/kconfig/menu.c
> @@ -323,6 +323,13 @@ void menu_finalize(struct menu *parent)
>                                 if (menu->sym && menu->sym->type == S_UNKNOWN)
>                                         menu_set_type(sym->type);
>                         }
> +
> +                       /*
> +                        * Use the choice itself as the parent dependency of
> +                        * the contained items. This turns the mode of the
> +                        * choice into an upper bound on the visibility of the
> +                        * choice symbols.
> +                        */

Does the last "choice symbols" mean "choice values"?
The "choice" itself is a symbol with NULL name,
so I'd like to clarify it.
Ulf Magnusson Jan. 18, 2018, 4:58 p.m. UTC | #2
On Thu, Jan 18, 2018 at 5:47 PM, Masahiro Yamada
<yamada.masahiro@socionext.com> wrote:
> 2018-01-14 23:12 GMT+09:00 Ulf Magnusson <ulfalizer@gmail.com>:
>> It's easy to miss that choices are special-cased to pass on their mode
>> as the parent dependency.
>>
>> No functional changes. Only comments added.
>>
>> Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
>> ---
>>  scripts/kconfig/menu.c | 7 +++++++
>>  1 file changed, 7 insertions(+)
>>
>> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
>> index 92d3f06cd8a2..53964d911708 100644
>> --- a/scripts/kconfig/menu.c
>> +++ b/scripts/kconfig/menu.c
>> @@ -323,6 +323,13 @@ void menu_finalize(struct menu *parent)
>>                                 if (menu->sym && menu->sym->type == S_UNKNOWN)
>>                                         menu_set_type(sym->type);
>>                         }
>> +
>> +                       /*
>> +                        * Use the choice itself as the parent dependency of
>> +                        * the contained items. This turns the mode of the
>> +                        * choice into an upper bound on the visibility of the
>> +                        * choice symbols.
>> +                        */
>
> Does the last "choice symbols" mean "choice values"?
> The "choice" itself is a symbol with NULL name,
> so I'd like to clarify it.

Yep, means the choice values (which are symbols). "Choice values"
would probably be clearer, yeah, or maybe "choice value symbols".

Should I submit a new version? I'm fine with just a
's/symbols/values/' or 's/symbols/value symbols/' otherwise.

Cheers,
Ulf
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Masahiro Yamada Jan. 19, 2018, 2:29 a.m. UTC | #3
Hi Ulf,


2018-01-19 1:58 GMT+09:00 Ulf Magnusson <ulfalizer@gmail.com>:
> On Thu, Jan 18, 2018 at 5:47 PM, Masahiro Yamada
> <yamada.masahiro@socionext.com> wrote:
>> 2018-01-14 23:12 GMT+09:00 Ulf Magnusson <ulfalizer@gmail.com>:
>>> It's easy to miss that choices are special-cased to pass on their mode
>>> as the parent dependency.
>>>
>>> No functional changes. Only comments added.
>>>
>>> Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
>>> ---
>>>  scripts/kconfig/menu.c | 7 +++++++
>>>  1 file changed, 7 insertions(+)
>>>
>>> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
>>> index 92d3f06cd8a2..53964d911708 100644
>>> --- a/scripts/kconfig/menu.c
>>> +++ b/scripts/kconfig/menu.c
>>> @@ -323,6 +323,13 @@ void menu_finalize(struct menu *parent)
>>>                                 if (menu->sym && menu->sym->type == S_UNKNOWN)
>>>                                         menu_set_type(sym->type);
>>>                         }
>>> +
>>> +                       /*
>>> +                        * Use the choice itself as the parent dependency of
>>> +                        * the contained items. This turns the mode of the
>>> +                        * choice into an upper bound on the visibility of the
>>> +                        * choice symbols.
>>> +                        */
>>
>> Does the last "choice symbols" mean "choice values"?
>> The "choice" itself is a symbol with NULL name,
>> so I'd like to clarify it.
>
> Yep, means the choice values (which are symbols). "Choice values"
> would probably be clearer, yeah, or maybe "choice value symbols".
>
> Should I submit a new version? I'm fine with just a
> 's/symbols/values/' or 's/symbols/value symbols/' otherwise.
>
> Cheers,
> Ulf


It is trivial, so I will locally fix it up.

s/symbols/value symbols/

Thanks!
Masahiro Yamada Jan. 21, 2018, 4:44 p.m. UTC | #4
2018-01-19 11:29 GMT+09:00 Masahiro Yamada <yamada.masahiro@socionext.com>:
> Hi Ulf,
>
>
> 2018-01-19 1:58 GMT+09:00 Ulf Magnusson <ulfalizer@gmail.com>:
>> On Thu, Jan 18, 2018 at 5:47 PM, Masahiro Yamada
>> <yamada.masahiro@socionext.com> wrote:
>>> 2018-01-14 23:12 GMT+09:00 Ulf Magnusson <ulfalizer@gmail.com>:
>>>> It's easy to miss that choices are special-cased to pass on their mode
>>>> as the parent dependency.
>>>>
>>>> No functional changes. Only comments added.
>>>>
>>>> Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com>
>>>> ---
>>>>  scripts/kconfig/menu.c | 7 +++++++
>>>>  1 file changed, 7 insertions(+)
>>>>
>>>> diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
>>>> index 92d3f06cd8a2..53964d911708 100644
>>>> --- a/scripts/kconfig/menu.c
>>>> +++ b/scripts/kconfig/menu.c
>>>> @@ -323,6 +323,13 @@ void menu_finalize(struct menu *parent)
>>>>                                 if (menu->sym && menu->sym->type == S_UNKNOWN)
>>>>                                         menu_set_type(sym->type);
>>>>                         }
>>>> +
>>>> +                       /*
>>>> +                        * Use the choice itself as the parent dependency of
>>>> +                        * the contained items. This turns the mode of the
>>>> +                        * choice into an upper bound on the visibility of the
>>>> +                        * choice symbols.
>>>> +                        */
>>>
>>> Does the last "choice symbols" mean "choice values"?
>>> The "choice" itself is a symbol with NULL name,
>>> so I'd like to clarify it.
>>
>> Yep, means the choice values (which are symbols). "Choice values"
>> would probably be clearer, yeah, or maybe "choice value symbols".
>>
>> Should I submit a new version? I'm fine with just a
>> 's/symbols/values/' or 's/symbols/value symbols/' otherwise.
>>
>> Cheers,
>> Ulf
>
>
> It is trivial, so I will locally fix it up.
>
> s/symbols/value symbols/
>

Applied to linux-kbuild/kconfig
with s/symbols/value symbols/.

Thanks!
diff mbox

Patch

diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index 92d3f06cd8a2..53964d911708 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -323,6 +323,13 @@  void menu_finalize(struct menu *parent)
 				if (menu->sym && menu->sym->type == S_UNKNOWN)
 					menu_set_type(sym->type);
 			}
+
+			/*
+			 * Use the choice itself as the parent dependency of
+			 * the contained items. This turns the mode of the
+			 * choice into an upper bound on the visibility of the
+			 * choice symbols.
+			 */
 			parentdep = expr_alloc_symbol(sym);
 		} else if (parent->prompt)
 			parentdep = parent->prompt->visible.expr;