Re: [PATCH v2 1/2] sh: Convert the last use of 'optional' property in Kconfig

John Paul Adrian Glaubitz <[email protected]>
Newsgroups gmane.linux.ports.sh.devel,gmane.linux.kbuild.devel,gmane.linux.kernel
Message-ID <be6369645dc8eaa6b38c6aa9aafd872443f8f1f5.camel@physik.fu-berlin.de>
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 <[email protected]>
> ---
> 
> 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 <[email protected]>

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.