Hi Damien, On Wed, Dec 2, 2020 at 4:26 AM Damien Le Moal <damien.lemoal@xxxxxxx> wrote: > All SiPeed K210 MAIX boards have the exact same vendor, arch and > implementation IDs, preventing differentiation to select the correct > device tree to use through the SOC_BUILTIN_DTB_DECLARE() macro. This > result in this macro to be useless and mandates changing the code of > the sysctl driver to change the builtin device tree suitable for the > target board. > > Fix this problem by removing the SOC_BUILTIN_DTB_DECLARE() macro since > it is used only for the K210 support. The code searching the builtin > DTBs using the vendor, arch an implementation IDs is also removed. > Support for builtin DTB falls back to the simpler and more traditional > handling of builtin DTB using the CONFIG_BUILTIN_DTB option, similarly > to other architectures. > > Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxx> > --- a/arch/riscv/boot/dts/kendryte/Makefile > +++ b/arch/riscv/boot/dts/kendryte/Makefile > @@ -1,4 +1,5 @@ > # SPDX-License-Identifier: GPL-2.0 > -dtb-$(CONFIG_SOC_KENDRYTE_K210_DTB) += k210.dtb > - > +ifneq ($(CONFIG_SOC_KENDRYTE_K210_DTB_SOURCE),"") > +dtb-y += $(strip $(shell echo $(CONFIG_SOC_KENDRYTE_K210_DTB_SOURCE))).dtb > obj-$(CONFIG_SOC_KENDRYTE_K210_DTB_BUILTIN) += $(addsuffix .o, $(dtb-y)) > +endif This break compiling a kernel for non-K210 systems (e.g. defconfig), as reported before in https://lore.kernel.org/linux-clk/202011151230.QP1ISPQo-lkp@xxxxxxxxx/ I think this can be fixed using: --- a/arch/riscv/boot/dts/Makefile +++ b/arch/riscv/boot/dts/Makefile @@ -1,6 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 subdir-y += sifive -subdir-y += canaan +subdir-$(CONFIG_SOC_CANAAN) += canaan obj-$(CONFIG_BUILTIN_DTB) := $(addsuffix /, $(subdir-y)) (yes, I've already renamed kendryte to canaan ;-) Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds