Re: [PATCH 14/15] kbuild: rename CONFIG_GENERIC_BUILTIN_DTB to CONFIG_BUILTIN_DTB

Masahiro Yamada
2024-09-06T00:27:52Z

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.

--
Best Regards
Masahiro Yamada