<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in alldef_expected_config</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>fde19251 - kconfig: remove tristate choice support</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/choice/alldef_expected_config#fde19251</link>
        <description>kconfig: remove tristate choice supportI previously submitted a fix for a bug in the choice feature [1], whereI mentioned, &quot;Another (much cleaner) approach would be to remove thetristate choice support entirely&quot;.There are more issues in the tristate choice feature. For example, youcan observe a couple of bugs in the following test code.[Test Code]    config MODULES            def_bool y            modules    choice            prompt &quot;tristate choice&quot;            default A    config A            tristate &quot;A&quot;    config B            tristate &quot;B&quot;    endchoiceBug 1: the &apos;default&apos; property is not correctly processed&apos;make alldefconfig&apos; produces:    CONFIG_MODULES=y    # CONFIG_A is not set    # CONFIG_B is not setHowever, the correct output should be:    CONFIG_MODULES=y    CONFIG_A=y    # CONFIG_B is not setThe unit test file, scripts/kconfig/tests/choice/alldef_expected_config,is wrong as well.Bug 2: choice members never get &apos;y&apos; with randconfigFor the test code above, the following combinations are possible:               A    B        (1)    y    n        (2)    n    y        (3)    m    m        (4)    m    n        (5)    n    m        (6)    n    n&apos;make randconfig&apos; never produces (1) or (2).These bugs are fixable, but a more critical problem is the lack of asensible syntax to specify the default for the tristate choice.The default for the choice must be one of the choice members, whichcannot specify any of the patterns (3) through (6) above.In addition, I have never seen it being used in a useful way.The following commits removed unnecessary use of tristate choices: - df8df5e4bc37 (&quot;usb: get rid of &apos;choice&apos; for legacy gadget drivers&quot;) - bfb57ef0544a (&quot;rapidio: remove choice for enumeration&quot;)This commit removes the tristate choice support entirely, which allowsme to delete a lot of code, making further refactoring easier.Note:This includes the revert of commit fa64e5f6a35e (&quot;kconfig/symbol.c:handle choice_values that depend on &apos;m&apos; symbols&quot;). It was suspiciousbecause it did not address the root cause but introduced inconsistencyin visibility between choice members and other symbols.[1]: https://lore.kernel.org/linux-kbuild/20240427104231.2728905-1-masahiroy@kernel.org/T/#m0a1bb6992581462ceca861b409bb33cb8fd7dbaeSigned-off-by: Masahiro Yamada &lt;masahiroy@kernel.org&gt;Reviewed-by: Nicolas Schier &lt;nicolas@fjasle.eu&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/choice/alldef_expected_config</description>
        <pubDate>Sun, 02 Jun 2024 12:54:14 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;masahiroy@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>1903c511 - kconfig: tests: add basic choice tests</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/scripts/kconfig/tests/choice/alldef_expected_config#1903c511</link>
        <description>kconfig: tests: add basic choice testsThe calculation of &apos;choice&apos; is a bit complicated part in Kconfig.The behavior of &apos;y&apos; choice is intuitive.  If choice values are tristate,the choice can be &apos;m&apos; where each value can be enabled independently.Also, if a choice is marked as &apos;optional&apos;, the whole choice can beinvisible.Test basic functionality of choice.Signed-off-by: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;Reviewed-by: Ulf Magnusson &lt;ulfalizer@gmail.com&gt;

            List of files:
            /linux-6.15/scripts/kconfig/tests/choice/alldef_expected_config</description>
        <pubDate>Tue, 13 Mar 2018 09:12:04 +0000</pubDate>
        <dc:creator>Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;</dc:creator>
    </item>
</channel>
</rss>
