Re: [PATCH v4] kconfig/symbol.c: handle choice_values that depend on 'm' symbols

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Fri, Aug 15, 2014 at 2:37 AM, Dirk Gouders <dirk@xxxxxxxxxxx> wrote:
> Bin Liu <binmlist@xxxxxxxxx> writes:
>
>> Dirk,
>>
>> On Thu, Aug 14, 2014 at 1:52 AM, Dirk Gouders <dirk@xxxxxxxxxxx> wrote:
>>> Bin Liu <binmlist@xxxxxxxxx> writes:
>>>
>>>> All,
>>>>
>>>> On Mon, Nov 18, 2013 at 12:08 PM, Yann E. MORIN <yann.morin.1998@xxxxxxx> wrote:
>>>>> Dirk, All,
>>>>>
>>>>> On 2013-11-07 15:05 +0100, Dirk Gouders spake thusly:
>>>>>> If choices consist of choice_values that depend on symbols set to 'm',
>>>>>> those choice_values are not set to 'n' if the choice is changed from
>>>>>> 'm' to 'y' (in which case only one active choice_value is allowed).
>>>>>> Those values are also written to the config file causing modules to be
>>>>>> built when they should not.
>>>>>>
>>>>>> The following config can be used to reproduce and examine the problem;
>>>>>> with the frontend of your choice set "Choice 0" and "Choice 1" to 'm',
>>>>>> then set "Tristate Choice" to 'y' and save the configuration:
>>>>>>
>>>>>> config modules
>>>>>>       boolean modules
>>>>>>       default y
>>>>>>       option modules
>>>>>>
>>>>>> config dependency
>>>>>>       tristate "Dependency"
>>>>>>       default m
>>>>>>
>>>>>> choice
>>>>>>       prompt "Tristate Choice"
>>>>>>       default choice0
>>>>>>
>>>>>> config choice0
>>>>>>       tristate "Choice 0"
>>>>>>
>>>>>> config choice1
>>>>>>       tristate "Choice 1"
>>>>>>       depends on dependency
>>>>>>
>>>>>> endchoice
>>>>>>
>>>>>> This patch sets choice_values' visibility that depend on symbols set
>>>>>> to 'm' to 'n' if the corresponding choice is set to 'y'.  This makes
>>>>>> them disappear from the choice list and will also cause the
>>>>>> choice_values' value set to 'n' in sym_calc_value() and as a result
>>>>>> they are written as "not set" to the resulting .config file.
>>>>>>
>>>>>> Reported-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>>>>>> Signed-off-by: Dirk Gouders <dirk@xxxxxxxxxxx>
>>>>>> Tested-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>>>>>
>>>>> Acked-by: "Yann E. MORIN" <yann.morin.1998@xxxxxxx>
>>>>>
>>>>> It will be in my tree soon. Thanks!
>>>>
>>>> I don't see this patch in 3.16 but 3.16 does not have the issue any
>>>> more. Anyone has an idea how the issue got fixed? I am trying to find
>>>> the right patch to backport.
>>>
>>> With the above sample kconfig I still see the issue.  How did you
>>> notice the issue got fixed?
>>
>> I did not pay much attention on the above sample kconfig, but just
>> focused on the USB gadget driver kconfig issue initially reported by
>> Sebastian. I saw the issue exists in 3.14, but does not in 3.16,
>> unless I messed up with my test. I will test 3.16 again some time next
>> week.
>
> Hi Bin,
>
> I now also re-tested the initially reported steps to reproduce the
> issue:
>
> ------------------------------------------------------------------------
>> in USB gadget menu (that is Device Drivers ---> USB support ---> USB
>> Gadget Support --->  USB Gadget Drivers) I can create a configuration
>> which is "lost". Here is how to reproduce it:
>>
>> - first config two gadgets as M:
>>  <M>   USB Gadget Drivers
>>  <M>     Audio Gadget
>>  <M>     Ethernet Gadget
>>  <M>     MIDI Gadget
>>
>>  save config & leave
>>
>> - now start menu config again and go to the same menu, now select
>>   built-in:
>>   <*>   USB Gadget Drivers (Ethernet Gadget
>>   the ethernet gadget is chosen automatically because we can have only
>>   one gadget selected.
>>   save config & leave
>>
>> - step three, go back to the menu and you will see that everything is
>>   as it was (the <*> is ignored).
> ------------------------------------------------------------------------
>
> Here, I still see the problem (I was wondering if the issue has been
> solved/gone by a kconfig-file modification).

This issue was gone since 3.16, but came back again due to commit
1fd6d08 ARM: omap2plus_defconfig: Enable n900 modem as loadable modules.

Regards,
-Bin.
--
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



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux