On Tue, 2024-04-23 at 01:41 +0900, Masahiro Yamada wrote: > The 'choice' statement is primarily used to exclusively select one > option, but the 'optional' property allows all entries to be disabled. > > This feature is rarely used. In fact, it is only used in arch/sh/Kconfig > because the equivalent outcome can be achieved by inserting one more > entry as a place-holder. > > The 'optional' property support will be removed from Kconfig. > > This commit replaces the 'optional' property with a dummy option, > CMDLINE_FROM_BOOTLOADER, as seen in some other architectures. > > Note: > The 'default CMDLINE_OVERWRITE' statement does not work as intended > in combination with 'optional'. If neither CONFIG_CMDLINE_OVERWRITE > nor CONFIG_CMDLINE_EXTEND is specified in a defconfig file, both of > them are disabled. This is a bug. To maintain the current behavior, > I added CONFIG_CMDLINE_FROM_BOOTLOADER=y to those defconfig files. > > Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx> > --- > > Changes in v2: > - Rename CONFIG_CMDLINE_NO_MODIFY to CONFIG_CMDLINE_FROM_BOOTLOADER > - Capitalize the first work of the subject > > arch/sh/Kconfig | 6 +++++- > arch/sh/configs/apsh4a3a_defconfig | 1 + > arch/sh/configs/apsh4ad0a_defconfig | 1 + > arch/sh/configs/edosk7705_defconfig | 1 + > arch/sh/configs/hp6xx_defconfig | 1 + > arch/sh/configs/landisk_defconfig | 1 + > arch/sh/configs/magicpanelr2_defconfig | 1 + > arch/sh/configs/rsk7264_defconfig | 1 + > arch/sh/configs/rsk7269_defconfig | 1 + > arch/sh/configs/se7619_defconfig | 1 + > arch/sh/configs/se7705_defconfig | 1 + > arch/sh/configs/se7722_defconfig | 1 + > arch/sh/configs/se7750_defconfig | 1 + > arch/sh/configs/secureedge5410_defconfig | 1 + > arch/sh/configs/sh7710voipgw_defconfig | 1 + > arch/sh/configs/sh7724_generic_defconfig | 1 + > arch/sh/configs/sh7770_generic_defconfig | 1 + > arch/sh/configs/sh7785lcr_32bit_defconfig | 1 + > arch/sh/configs/sh7785lcr_defconfig | 1 + > arch/sh/configs/urquell_defconfig | 1 + > 20 files changed, 24 insertions(+), 1 deletion(-) > > diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig > index 2ad3e29f0ebe..8b64ca76aa4b 100644 > --- a/arch/sh/Kconfig > +++ b/arch/sh/Kconfig > @@ -709,7 +709,6 @@ config ROMIMAGE_MMCIF > > choice > prompt "Kernel command line" > - optional > default CMDLINE_OVERWRITE > help > Setting this option allows the kernel command line arguments > @@ -727,6 +726,11 @@ config CMDLINE_EXTEND > Given string will be concatenated with arguments passed in > by a bootloader. > > +config CMDLINE_FROM_BOOTLOADER > + bool "Use bootloader kernel arguments" > + help > + Uses the command-line options passed by the boot loader. > + > endchoice > > config CMDLINE > diff --git a/arch/sh/configs/apsh4a3a_defconfig b/arch/sh/configs/apsh4a3a_defconfig > index cc909f347877..9c2644443c4d 100644 > --- a/arch/sh/configs/apsh4a3a_defconfig > +++ b/arch/sh/configs/apsh4a3a_defconfig > @@ -15,6 +15,7 @@ CONFIG_MEMORY_START=0x0C000000 > CONFIG_FLATMEM_MANUAL=y > CONFIG_SH_STORE_QUEUES=y > CONFIG_SH_APSH4A3A=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_HIGH_RES_TIMERS=y > CONFIG_KEXEC=y > CONFIG_PREEMPT=y > diff --git a/arch/sh/configs/apsh4ad0a_defconfig b/arch/sh/configs/apsh4ad0a_defconfig > index 64558bf60e10..05d21d91f41d 100644 > --- a/arch/sh/configs/apsh4ad0a_defconfig > +++ b/arch/sh/configs/apsh4ad0a_defconfig > @@ -42,6 +42,7 @@ CONFIG_SECCOMP=y > CONFIG_PREEMPT=y > # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set > CONFIG_BINFMT_MISC=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_PM=y > CONFIG_PM_DEBUG=y > CONFIG_PM=y > diff --git a/arch/sh/configs/edosk7705_defconfig b/arch/sh/configs/edosk7705_defconfig > index 9ee35269bee2..57c79da1ff8e 100644 > --- a/arch/sh/configs/edosk7705_defconfig > +++ b/arch/sh/configs/edosk7705_defconfig > @@ -19,6 +19,7 @@ > CONFIG_CPU_SUBTYPE_SH7705=y > CONFIG_SH_EDOSK7705=y > CONFIG_SH_PCLK_FREQ=31250000 > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > # CONFIG_PREVENT_FIRMWARE_BUILD is not set > # CONFIG_INPUT is not set > # CONFIG_SERIO is not set > diff --git a/arch/sh/configs/hp6xx_defconfig b/arch/sh/configs/hp6xx_defconfig > index 0c45f2a0f9bd..77e3185f63e4 100644 > --- a/arch/sh/configs/hp6xx_defconfig > +++ b/arch/sh/configs/hp6xx_defconfig > @@ -15,6 +15,7 @@ CONFIG_SH_DMA_API=y > CONFIG_HD64461_ENABLER=y > CONFIG_PCCARD=y > CONFIG_PM=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_APM_EMULATION=y > # CONFIG_STANDALONE is not set > CONFIG_BLK_DEV_SD=y > diff --git a/arch/sh/configs/landisk_defconfig b/arch/sh/configs/landisk_defconfig > index 541082090918..0311380160f4 100644 > --- a/arch/sh/configs/landisk_defconfig > +++ b/arch/sh/configs/landisk_defconfig > @@ -15,6 +15,7 @@ CONFIG_KEXEC=y > CONFIG_PCI=y > CONFIG_PCCARD=y > CONFIG_YENTA=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/sh/configs/magicpanelr2_defconfig b/arch/sh/configs/magicpanelr2_defconfig > index 52937f9cc2ab..8d443749550e 100644 > --- a/arch/sh/configs/magicpanelr2_defconfig > +++ b/arch/sh/configs/magicpanelr2_defconfig > @@ -22,6 +22,7 @@ CONFIG_SH_PCLK_FREQ=24000000 > CONFIG_SH_DMA=y > CONFIG_SH_DMA_API=y > CONFIG_HEARTBEAT=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/sh/configs/rsk7264_defconfig b/arch/sh/configs/rsk7264_defconfig > index a88cb3b77957..e4ef259425c4 100644 > --- a/arch/sh/configs/rsk7264_defconfig > +++ b/arch/sh/configs/rsk7264_defconfig > @@ -21,6 +21,7 @@ CONFIG_MEMORY_START=0x0c000000 > CONFIG_FLATMEM_MANUAL=y > CONFIG_CPU_BIG_ENDIAN=y > CONFIG_SH_RSK=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > # CONFIG_SH_TIMER_MTU2 is not set > CONFIG_BINFMT_FLAT=y > CONFIG_NET=y > diff --git a/arch/sh/configs/rsk7269_defconfig b/arch/sh/configs/rsk7269_defconfig > index d9a7ce783c9b..e0d1560b2bfd 100644 > --- a/arch/sh/configs/rsk7269_defconfig > +++ b/arch/sh/configs/rsk7269_defconfig > @@ -10,6 +10,7 @@ CONFIG_MEMORY_SIZE=0x02000000 > CONFIG_FLATMEM_MANUAL=y > CONFIG_CPU_BIG_ENDIAN=y > CONFIG_SH_RSK=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > # CONFIG_SH_TIMER_MTU2 is not set > CONFIG_SH_PCLK_FREQ=66700000 > CONFIG_BINFMT_FLAT=y > diff --git a/arch/sh/configs/se7619_defconfig b/arch/sh/configs/se7619_defconfig > index 14d0f5ead502..6b25e9713e77 100644 > --- a/arch/sh/configs/se7619_defconfig > +++ b/arch/sh/configs/se7619_defconfig > @@ -14,6 +14,7 @@ CONFIG_FLATMEM_MANUAL=y > CONFIG_CPU_BIG_ENDIAN=y > CONFIG_SH_7619_SOLUTION_ENGINE=y > CONFIG_HZ_100=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_BINFMT_FLAT=y > CONFIG_BINFMT_ZFLAT=y > # CONFIG_STANDALONE is not set > diff --git a/arch/sh/configs/se7705_defconfig b/arch/sh/configs/se7705_defconfig > index 16a0f72f0822..1752ddc2694a 100644 > --- a/arch/sh/configs/se7705_defconfig > +++ b/arch/sh/configs/se7705_defconfig > @@ -13,6 +13,7 @@ CONFIG_FLATMEM_MANUAL=y > # CONFIG_SH_ADC is not set > CONFIG_SH_SOLUTION_ENGINE=y > CONFIG_HEARTBEAT=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_PREEMPT=y > CONFIG_NET=y > CONFIG_PACKET=y > diff --git a/arch/sh/configs/se7722_defconfig b/arch/sh/configs/se7722_defconfig > index 09e455817447..5327a2f70980 100644 > --- a/arch/sh/configs/se7722_defconfig > +++ b/arch/sh/configs/se7722_defconfig > @@ -17,6 +17,7 @@ CONFIG_SH_7722_SOLUTION_ENGINE=y > CONFIG_NO_HZ=y > CONFIG_HIGH_RES_TIMERS=y > CONFIG_HEARTBEAT=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_KEXEC=y > CONFIG_PREEMPT=y > CONFIG_NET=y > diff --git a/arch/sh/configs/se7750_defconfig b/arch/sh/configs/se7750_defconfig > index 5fa6239ae4ea..a1e25d7de8a6 100644 > --- a/arch/sh/configs/se7750_defconfig > +++ b/arch/sh/configs/se7750_defconfig > @@ -15,6 +15,7 @@ CONFIG_FLATMEM_MANUAL=y > CONFIG_SH_SOLUTION_ENGINE=y > CONFIG_SH_PCLK_FREQ=33333333 > CONFIG_HEARTBEAT=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/sh/configs/secureedge5410_defconfig b/arch/sh/configs/secureedge5410_defconfig > index 120176afe3f6..2f77b60e9540 100644 > --- a/arch/sh/configs/secureedge5410_defconfig > +++ b/arch/sh/configs/secureedge5410_defconfig > @@ -10,6 +10,7 @@ CONFIG_SH_SECUREEDGE5410=y > CONFIG_SH_DMA=y > CONFIG_SH_DMA_API=y > CONFIG_PCI=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_NET=y > CONFIG_INET=y > # CONFIG_INET_XFRM_MODE_TRANSPORT is not set > diff --git a/arch/sh/configs/sh7710voipgw_defconfig b/arch/sh/configs/sh7710voipgw_defconfig > index 7f742729df69..99a5d0760532 100644 > --- a/arch/sh/configs/sh7710voipgw_defconfig > +++ b/arch/sh/configs/sh7710voipgw_defconfig > @@ -15,6 +15,7 @@ CONFIG_MEMORY_SIZE=0x00800000 > CONFIG_FLATMEM_MANUAL=y > # CONFIG_SH_ADC is not set > CONFIG_SH_PCLK_FREQ=32768000 > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/sh/configs/sh7724_generic_defconfig b/arch/sh/configs/sh7724_generic_defconfig > index cbc9389a89a8..5440bd0ca4ed 100644 > --- a/arch/sh/configs/sh7724_generic_defconfig > +++ b/arch/sh/configs/sh7724_generic_defconfig > @@ -12,6 +12,7 @@ CONFIG_CPU_FREQ=y > CONFIG_SH_CPU_FREQ=y > CONFIG_KEXEC=y > CONFIG_KEXEC_JUMP=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_HIBERNATION=y > CONFIG_CPU_IDLE=y > # CONFIG_PREVENT_FIRMWARE_BUILD is not set > diff --git a/arch/sh/configs/sh7770_generic_defconfig b/arch/sh/configs/sh7770_generic_defconfig > index ee2357deba0f..4338af8d02d0 100644 > --- a/arch/sh/configs/sh7770_generic_defconfig > +++ b/arch/sh/configs/sh7770_generic_defconfig > @@ -14,6 +14,7 @@ CONFIG_SH_CPU_FREQ=y > CONFIG_KEXEC=y > CONFIG_KEXEC_JUMP=y > CONFIG_PM=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_HIBERNATION=y > CONFIG_CPU_IDLE=y > # CONFIG_PREVENT_FIRMWARE_BUILD is not set > diff --git a/arch/sh/configs/sh7785lcr_32bit_defconfig b/arch/sh/configs/sh7785lcr_32bit_defconfig > index 59262f42abe6..44f9b2317f09 100644 > --- a/arch/sh/configs/sh7785lcr_32bit_defconfig > +++ b/arch/sh/configs/sh7785lcr_32bit_defconfig > @@ -32,6 +32,7 @@ CONFIG_PREEMPT=y > CONFIG_INTC_USERIMASK=y > CONFIG_PCI=y > CONFIG_PCI_DEBUG=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_PM=y > CONFIG_CPU_IDLE=y > CONFIG_NET=y > diff --git a/arch/sh/configs/sh7785lcr_defconfig b/arch/sh/configs/sh7785lcr_defconfig > index 94381f8268ff..aec74b0e7003 100644 > --- a/arch/sh/configs/sh7785lcr_defconfig > +++ b/arch/sh/configs/sh7785lcr_defconfig > @@ -17,6 +17,7 @@ CONFIG_HEARTBEAT=y > CONFIG_KEXEC=y > CONFIG_PREEMPT=y > CONFIG_PCI=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_NET=y > CONFIG_PACKET=y > CONFIG_UNIX=y > diff --git a/arch/sh/configs/urquell_defconfig b/arch/sh/configs/urquell_defconfig > index 445bb451a5ec..00ef62133b04 100644 > --- a/arch/sh/configs/urquell_defconfig > +++ b/arch/sh/configs/urquell_defconfig > @@ -34,6 +34,7 @@ CONFIG_PCIEPORTBUS=y > CONFIG_PCIEASPM_DEBUG=y > CONFIG_PCI_DEBUG=y > CONFIG_BINFMT_MISC=y > +CONFIG_CMDLINE_FROM_BOOTLOADER=y > CONFIG_PM=y > CONFIG_CPU_IDLE=y > CONFIG_NET=y Acked-by: John Paul Adrian Glaubitz <glaubitz@xxxxxxxxxxxxxxxxxxx> -- .''`. John Paul Adrian Glaubitz : :' : Debian Developer `. `' Physicist `- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913