Message ID | 20240904234803.698424-15-masahiroy@kernel.org |
---|---|
State | New |
Headers | show |
Series | kbuild: refactor DTB build rules, introduce a generic built-in boot DTB support | expand |
On Thu, Sep 05, 2024 at 08:47:50AM +0900, Masahiro Yamada wrote: > Now that all architectures have migrated to the generic built-in > DTB support, the GENERIC_ prefix is no longer necessary. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > Makefile | 2 +- > arch/arc/Kconfig | 2 +- > arch/loongarch/Kconfig | 1 - > arch/microblaze/Kconfig | 2 +- > arch/mips/Kconfig | 1 - > arch/nios2/platform/Kconfig.platform | 1 - > arch/openrisc/Kconfig | 2 +- > arch/riscv/Kconfig | 1 - > arch/sh/Kconfig | 1 - > arch/xtensa/Kconfig | 2 +- > drivers/of/Kconfig | 2 +- > scripts/Makefile.vmlinux | 2 +- > scripts/link-vmlinux.sh | 2 +- > 13 files changed, 8 insertions(+), 13 deletions(-) > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig > index e1d3e5fb6fd2..70f169210b52 100644 > --- a/arch/loongarch/Kconfig > +++ b/arch/loongarch/Kconfig > @@ -388,7 +388,6 @@ endchoice > config BUILTIN_DTB > bool "Enable built-in dtb in kernel" > depends on OF > - select GENERIC_BUILTIN_DTB > help > Some existing systems do not provide a canonical device tree to > the kernel at boot time. Let's provide a device tree table in the > diff --git a/arch/nios2/platform/Kconfig.platform b/arch/nios2/platform/Kconfig.platform > index c75cadd92388..5f0cf551b5ca 100644 > --- a/arch/nios2/platform/Kconfig.platform > +++ b/arch/nios2/platform/Kconfig.platform > @@ -38,7 +38,6 @@ config NIOS2_DTB_PHYS_ADDR > config BUILTIN_DTB > bool "Compile and link device tree into kernel image" > depends on !COMPILE_TEST > - select GENERIC_BUILTIN_DTB > --- a/arch/riscv/Kconfig > +++ b/arch/riscv/Kconfig > @@ -1110,7 +1110,6 @@ config RISCV_ISA_FALLBACK > config BUILTIN_DTB > bool "Built-in device tree" > depends on OF && NONPORTABLE Humm, maybe this NONPORTABLE option could be common and used to accomplish what I want here... > - select GENERIC_BUILTIN_DTB > diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig > index 3b772378773f..b09019cd87d4 100644 > --- a/arch/sh/Kconfig > +++ b/arch/sh/Kconfig > @@ -648,7 +648,6 @@ config BUILTIN_DTB > bool "Use builtin DTB" > default n > depends on SH_DEVICE_TREE > - select GENERIC_BUILTIN_DTB > diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig > index 5142e7d7fef8..53a227ca3a3c 100644 > --- a/drivers/of/Kconfig > +++ b/drivers/of/Kconfig > @@ -2,7 +2,7 @@ > config DTC > bool > > -config GENERIC_BUILTIN_DTB > +config BUILTIN_DTB > bool I'm confused. We can't have the same config option twice, can we? Rob
On Thu, Sep 5, 2024 at 11:38 PM Rob Herring <robh@kernel.org> wrote: > > On Thu, Sep 05, 2024 at 08:47:50AM +0900, Masahiro Yamada wrote: > > Now that all architectures have migrated to the generic built-in > > DTB support, the GENERIC_ prefix is no longer necessary. > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > Makefile | 2 +- > > arch/arc/Kconfig | 2 +- > > arch/loongarch/Kconfig | 1 - > > arch/microblaze/Kconfig | 2 +- > > arch/mips/Kconfig | 1 - > > arch/nios2/platform/Kconfig.platform | 1 - > > arch/openrisc/Kconfig | 2 +- > > arch/riscv/Kconfig | 1 - > > arch/sh/Kconfig | 1 - > > arch/xtensa/Kconfig | 2 +- > > drivers/of/Kconfig | 2 +- > > scripts/Makefile.vmlinux | 2 +- > > scripts/link-vmlinux.sh | 2 +- > > 13 files changed, 8 insertions(+), 13 deletions(-) > > > diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig > > index e1d3e5fb6fd2..70f169210b52 100644 > > --- a/arch/loongarch/Kconfig > > +++ b/arch/loongarch/Kconfig > > @@ -388,7 +388,6 @@ endchoice > > config BUILTIN_DTB > > bool "Enable built-in dtb in kernel" > > depends on OF > > - select GENERIC_BUILTIN_DTB > > help > > Some existing systems do not provide a canonical device tree to > > the kernel at boot time. Let's provide a device tree table in the > > > diff --git a/arch/nios2/platform/Kconfig.platform b/arch/nios2/platform/Kconfig.platform > > index c75cadd92388..5f0cf551b5ca 100644 > > --- a/arch/nios2/platform/Kconfig.platform > > +++ b/arch/nios2/platform/Kconfig.platform > > @@ -38,7 +38,6 @@ config NIOS2_DTB_PHYS_ADDR > > config BUILTIN_DTB > > bool "Compile and link device tree into kernel image" > > depends on !COMPILE_TEST > > - select GENERIC_BUILTIN_DTB > > > --- a/arch/riscv/Kconfig > > +++ b/arch/riscv/Kconfig > > @@ -1110,7 +1110,6 @@ config RISCV_ISA_FALLBACK > > config BUILTIN_DTB > > bool "Built-in device tree" > > depends on OF && NONPORTABLE > > Humm, maybe this NONPORTABLE option could be common and used to > accomplish what I want here... I do not know how this can prevent new architectures from enabling BUILTIN_DTB. New architectures can select BUILTIN_DTB together with NONPORTABLE. > > - select GENERIC_BUILTIN_DTB > > > diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig > > index 3b772378773f..b09019cd87d4 100644 > > --- a/arch/sh/Kconfig > > +++ b/arch/sh/Kconfig > > @@ -648,7 +648,6 @@ config BUILTIN_DTB > > bool "Use builtin DTB" > > default n > > depends on SH_DEVICE_TREE > > - select GENERIC_BUILTIN_DTB > > > diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig > > index 5142e7d7fef8..53a227ca3a3c 100644 > > --- a/drivers/of/Kconfig > > +++ b/drivers/of/Kconfig > > @@ -2,7 +2,7 @@ > > config DTC > > bool > > > > -config GENERIC_BUILTIN_DTB > > +config BUILTIN_DTB > > bool > > I'm confused. We can't have the same config option twice, can we? We can. Documentation/kbuild/kconfig-language.rst says: A config option can be defined multiple times with the same name, but every definition can have only a single input prompt and the type must not conflict.
diff --git a/Makefile b/Makefile index 1c765c12ab9e..a83edbdbc79c 100644 --- a/Makefile +++ b/Makefile @@ -1417,7 +1417,7 @@ ifdef CONFIG_OF_EARLY_FLATTREE all: dtbs endif -ifdef CONFIG_GENERIC_BUILTIN_DTB +ifdef CONFIG_BUILTIN_DTB vmlinux: dtbs endif diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index 11fe4f497571..05fed3cd8b29 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig @@ -16,7 +16,7 @@ config ARC select ARCH_SUPPORTS_ATOMIC_RMW if ARC_HAS_LLSC select ARCH_32BIT_OFF_T select BUILDTIME_TABLE_SORT - select GENERIC_BUILTIN_DTB + select BUILTIN_DTB select CLONE_BACKWARDS select COMMON_CLK select DMA_DIRECT_REMAP diff --git a/arch/loongarch/Kconfig b/arch/loongarch/Kconfig index e1d3e5fb6fd2..70f169210b52 100644 --- a/arch/loongarch/Kconfig +++ b/arch/loongarch/Kconfig @@ -388,7 +388,6 @@ endchoice config BUILTIN_DTB bool "Enable built-in dtb in kernel" depends on OF - select GENERIC_BUILTIN_DTB help Some existing systems do not provide a canonical device tree to the kernel at boot time. Let's provide a device tree table in the diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index 4ed8ca89f0c9..e1a3b5f4d97e 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -10,7 +10,7 @@ config MICROBLAZE select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_WANT_IPC_PARSE_VERSION select BUILDTIME_TABLE_SORT - select GENERIC_BUILTIN_DTB + select BUILTIN_DTB select TIMER_OF select CLONE_BACKWARDS3 select COMMON_CLK diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 7bfe3fd011f4..fda96e4f2187 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -33,7 +33,6 @@ config MIPS select CPU_NO_EFFICIENT_FFS if (TARGET_ISA_REV < 1) select CPU_PM if CPU_IDLE || SUSPEND select GENERIC_ATOMIC64 if !64BIT - select GENERIC_BUILTIN_DTB if BUILTIN_DTB select GENERIC_CMOS_UPDATE select GENERIC_CPU_AUTOPROBE select GENERIC_GETTIMEOFDAY diff --git a/arch/nios2/platform/Kconfig.platform b/arch/nios2/platform/Kconfig.platform index c75cadd92388..5f0cf551b5ca 100644 --- a/arch/nios2/platform/Kconfig.platform +++ b/arch/nios2/platform/Kconfig.platform @@ -38,7 +38,6 @@ config NIOS2_DTB_PHYS_ADDR config BUILTIN_DTB bool "Compile and link device tree into kernel image" depends on !COMPILE_TEST - select GENERIC_BUILTIN_DTB help This allows you to specify a dts (device tree source) file which will be compiled and linked into the kernel image. diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig index 11ffcf33652c..f55e66be4112 100644 --- a/arch/openrisc/Kconfig +++ b/arch/openrisc/Kconfig @@ -10,7 +10,7 @@ config OPENRISC select ARCH_HAS_DMA_SET_UNCACHED select ARCH_HAS_DMA_CLEAR_UNCACHED select ARCH_HAS_SYNC_DMA_FOR_DEVICE - select GENERIC_BUILTIN_DTB + select BUILTIN_DTB select COMMON_CLK select OF select OF_EARLY_FLATTREE diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 019c64ef0826..a63b66b32636 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -1110,7 +1110,6 @@ config RISCV_ISA_FALLBACK config BUILTIN_DTB bool "Built-in device tree" depends on OF && NONPORTABLE - select GENERIC_BUILTIN_DTB help Build a device tree into the Linux image. This option should be selected if no bootloader is being used. diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 3b772378773f..b09019cd87d4 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -648,7 +648,6 @@ config BUILTIN_DTB bool "Use builtin DTB" default n depends on SH_DEVICE_TREE - select GENERIC_BUILTIN_DTB help Link a device tree blob for particular hardware into the kernel, suppressing use of the DTB pointer provided by the bootloader. diff --git a/arch/xtensa/Kconfig b/arch/xtensa/Kconfig index 5fd1d248e147..cccfacb5848d 100644 --- a/arch/xtensa/Kconfig +++ b/arch/xtensa/Kconfig @@ -19,7 +19,7 @@ config XTENSA select ARCH_USE_QUEUED_SPINLOCKS select ARCH_WANT_IPC_PARSE_VERSION select BUILDTIME_TABLE_SORT - select GENERIC_BUILTIN_DTB + select BUILTIN_DTB select CLONE_BACKWARDS select COMMON_CLK select DMA_NONCOHERENT_MMAP if MMU diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 5142e7d7fef8..53a227ca3a3c 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -2,7 +2,7 @@ config DTC bool -config GENERIC_BUILTIN_DTB +config BUILTIN_DTB bool config BUILTIN_DTB_ALL diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux index 4626b472da49..677fc5a4e8c1 100644 --- a/scripts/Makefile.vmlinux +++ b/scripts/Makefile.vmlinux @@ -53,7 +53,7 @@ quiet_cmd_gen_dtbs_list = GEN $@ targets += .builtin-dtbs-list -ifdef CONFIG_GENERIC_BUILTIN_DTB +ifdef CONFIG_BUILTIN_DTB targets += .builtin-dtbs.S .builtin-dtbs.o vmlinux: .builtin-dtbs.o endif diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index bd196944e350..c58dc9d86e2d 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -68,7 +68,7 @@ vmlinux_link() libs="${KBUILD_VMLINUX_LIBS}" fi - if is_enabled CONFIG_GENERIC_BUILTIN_DTB; then + if is_enabled CONFIG_BUILTIN_DTB; then objs="${objs} .builtin-dtbs.o" fi
Now that all architectures have migrated to the generic built-in DTB support, the GENERIC_ prefix is no longer necessary. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- Makefile | 2 +- arch/arc/Kconfig | 2 +- arch/loongarch/Kconfig | 1 - arch/microblaze/Kconfig | 2 +- arch/mips/Kconfig | 1 - arch/nios2/platform/Kconfig.platform | 1 - arch/openrisc/Kconfig | 2 +- arch/riscv/Kconfig | 1 - arch/sh/Kconfig | 1 - arch/xtensa/Kconfig | 2 +- drivers/of/Kconfig | 2 +- scripts/Makefile.vmlinux | 2 +- scripts/link-vmlinux.sh | 2 +- 13 files changed, 8 insertions(+), 13 deletions(-)