# git rev-parse -q --verify 060ef2b4224904cc2cbf867f141cb17fa2c9d2c0^{commit} 060ef2b4224904cc2cbf867f141cb17fa2c9d2c0 already have revision, skipping fetch # git checkout -q -f -B kisskb 060ef2b4224904cc2cbf867f141cb17fa2c9d2c0 # git clean -qxdf # < git log -1 # commit 060ef2b4224904cc2cbf867f141cb17fa2c9d2c0 # Author: Masahiro Yamada # Date: Tue Apr 23 01:41:04 2024 +0900 # # kconfig: remove 'optional' property support # # The 'choice' statement is primarily used to exclusively select one # option, but the 'optional' property allows all entries to be disabled. # # In the following example, both A and B can be disabled simultaneously: # # choice # prompt "choose A, B, or nothing" # optional # # config A # bool "A" # # config B # bool "B" # # endchoice # # You can achieve the equivalent outcome by other means. # # A common solution is to add another option to guard the choice block. # In the following example, you can set ENABLE_A_B_CHOICE=n to disable # the entire choice block: # # choice # prompt "choose A or B" # depends on ENABLE_A_B_CHOICE # # config A # bool "A" # # config B # bool "B" # # endchoice # # Another approach is to insert one more entry: # # choice # prompt "choose A, B, or disable both" # # config A # bool "A" # # config B # bool "B" # # config DISABLE_A_AND_B # bool "choose this to disable both A and B" # # endchoice # # Some real examples are DEBUG_INFO_NONE, INITRAMFS_COMPRESSION_NONE, # LTO_NONE, etc. # # The 'optional' property is even more unnecessary for a tristate choice. # # Without the 'optional' property, you can disable A and B; you can set # 'm' in the choice prompt, and disable A and B individually: # # choice # prompt "choose one built-in or make them modular" # # config A # tristate "A" # # config B # tristate "B" # # endchoice # # In conclusion, the 'optional' property was unneeded. # # Signed-off-by: Masahiro Yamada # Reviewed-by: Nicolas Schier # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 060ef2b4224904cc2cbf867f141cb17fa2c9d2c0 # make -s -j 160 ARCH=arm64 O=/kisskb/build/kbuild_defconfig_arm64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/aarch64-linux/bin/aarch64-linux- defconfig # < make -s -j 160 ARCH=arm64 O=/kisskb/build/kbuild_defconfig_arm64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/aarch64-linux/bin/aarch64-linux- help # make -s -j 160 ARCH=arm64 O=/kisskb/build/kbuild_defconfig_arm64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/aarch64-linux/bin/aarch64-linux- olddefconfig # make -s -j 160 ARCH=arm64 O=/kisskb/build/kbuild_defconfig_arm64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/kbuild_defconfig_arm64-gcc13 # Build took: 0:05:39.158902