[PATCH 00/15] kbuild: refactor DTB build rules, introduce a generic built-in boot DTB support

Masahiro Yamada
2024-09-04T23:48:17Z

01 and 02 are kbuild cleanups.
03 and 04 parepare to wrap boot DTBs in scripts/Makefile.vmlinux.

My plan is to 05-13 to each arch ML in the next cycle, but they are included
in this patch set so that reviewers can understand what will happen in
the future.

Masahiro Yamada (15):
kbuild: add intermediate targets for Flex/Bison in
scripts/Makefile.host
kbuild: split device tree build rules into scripts/Makefile.dtbs
kbuild: move non-boot builtin DTBs to .init.rodata section
kbuild: add generic support for built-in boot DTBs
MIPS: migrate to generic rule for built-in DTBs
riscv: migrate to the generic rule for built-in DTB
LoongArch: migrate to the generic rule for built-in DTB
ARC: migrate to the generic rule for built-in DTB
openrisc: migrate to the generic rule for built-in DTB
xtensa: migrate to the generic rule for built-in DTB
nios2: migrate to the generic rule for built-in DTB
sh: migrate to the generic rule for built-in DTB
microblaze: migrate to the generic rule for built-in DTB
kbuild: rename CONFIG_GENERIC_BUILTIN_DTB to CONFIG_BUILTIN_DTB
kbuild: use .init.rodata section unconditionally for cmd_wrap_S_dtb

Makefile | 7 +-
arch/arc/Kconfig | 7 +-
arch/arc/Makefile | 3 -
arch/arc/boot/dts/Makefile | 9 +-
arch/arc/configs/axs101_defconfig | 2 +-
arch/arc/configs/axs103_defconfig | 2 +-
arch/arc/configs/axs103_smp_defconfig | 2 +-
arch/arc/configs/haps_hs_defconfig | 2 +-
arch/arc/configs/haps_hs_smp_defconfig | 2 +-
arch/arc/configs/hsdk_defconfig | 2 +-
arch/arc/configs/nsim_700_defconfig | 2 +-
arch/arc/configs/nsimosci_defconfig | 2 +-
arch/arc/configs/nsimosci_hs_defconfig | 2 +-
arch/arc/configs/nsimosci_hs_smp_defconfig | 2 +-
arch/arc/configs/tb10x_defconfig | 2 +-
arch/arc/configs/vdk_hs38_defconfig | 2 +-
arch/arc/configs/vdk_hs38_smp_defconfig | 2 +-
arch/loongarch/Kbuild | 1 -
arch/loongarch/boot/dts/Makefile | 2 -
arch/microblaze/Kbuild | 1 -
arch/microblaze/Kconfig | 5 +
arch/microblaze/boot/dts/Makefile | 5 -
arch/microblaze/boot/dts/linked_dtb.S | 2 -
arch/microblaze/kernel/vmlinux.lds.S | 2 +-
arch/mips/Kconfig | 1 +
arch/mips/Makefile | 3 -
arch/mips/boot/dts/Makefile | 2 -
arch/mips/boot/dts/brcm/Makefile | 2 -
arch/mips/boot/dts/cavium-octeon/Makefile | 2 -
arch/mips/boot/dts/ingenic/Makefile | 2 -
arch/mips/boot/dts/lantiq/Makefile | 2 -
arch/mips/boot/dts/loongson/Makefile | 2 -
arch/mips/boot/dts/mscc/Makefile | 3 -
arch/mips/boot/dts/mti/Makefile | 2 -
arch/mips/boot/dts/pic32/Makefile | 2 -
arch/mips/boot/dts/ralink/Makefile | 2 -
arch/nios2/Kbuild | 2 +-
arch/nios2/boot/dts/Makefile | 4 +-
arch/nios2/kernel/prom.c | 2 +-
arch/nios2/platform/Kconfig.platform | 10 +-
arch/openrisc/Kbuild | 1 -
arch/openrisc/Kconfig | 3 +-
arch/openrisc/boot/dts/Makefile | 2 +-
arch/openrisc/configs/or1klitex_defconfig | 2 +-
arch/openrisc/configs/or1ksim_defconfig | 2 +-
arch/openrisc/configs/simple_smp_defconfig | 2 +-
arch/riscv/Kbuild | 1 -
arch/riscv/Kconfig | 2 +-
arch/riscv/boot/dts/Makefile | 2 -
arch/riscv/configs/nommu_k210_defconfig | 2 +-
.../riscv/configs/nommu_k210_sdcard_defconfig | 2 +-
arch/sh/Kbuild | 1 -
arch/sh/Kconfig | 6 +-
arch/sh/boot/dts/Makefile | 2 +-
arch/sh/kernel/setup.c | 4 +-
arch/xtensa/Kbuild | 2 +-
arch/xtensa/Kconfig | 3 +-
arch/xtensa/boot/dts/Makefile | 2 +-
arch/xtensa/configs/audio_kc705_defconfig | 2 +-
arch/xtensa/configs/cadence_csp_defconfig | 2 +-
arch/xtensa/configs/generic_kc705_defconfig | 2 +-
arch/xtensa/configs/nommu_kc705_defconfig | 2 +-
arch/xtensa/configs/smp_lx200_defconfig | 2 +-
arch/xtensa/configs/virt_defconfig | 2 +-
arch/xtensa/configs/xip_kc705_defconfig | 2 +-
drivers/of/Kconfig | 6 +
drivers/of/fdt.c | 2 +-
drivers/of/unittest.c | 6 +-
scripts/Makefile.build | 58 +++----
scripts/Makefile.dtbs | 142 ++++++++++++++++++
scripts/Makefile.host | 5 +
scripts/Makefile.lib | 115 --------------
scripts/Makefile.vmlinux | 44 ++++++
scripts/link-vmlinux.sh | 4 +
74 files changed, 294 insertions(+), 256 deletions(-)
delete mode 100644 arch/microblaze/boot/dts/linked_dtb.S
create mode 100644 scripts/Makefile.dtbs