Re: [PATCH v3 32/71] ARC: [DeviceTree] Basic support
From: James Hogan <hidden>
Date: 2013-01-28 10:21:59
Also in:
linux-arch, lkml
Hi Vineet, On 24/01/13 10:50, Vineet Gupta wrote:
quoted hunk ↗ jump to hunk
diff --git a/arch/arc/Makefile b/arch/arc/Makefile index 4d52a3b..90570f9 100644 --- a/arch/arc/Makefile +++ b/arch/arc/Makefile@@ -83,6 +83,9 @@ head-y := arch/arc/kernel/head.o # See arch/arc/Kbuild for content of core part of the kernel core-y += arch/arc/ +# w/o this dtb won't embed into kernel binary +core-y += arch/arc/boot/dts/ + # w/o this ifneq, make ARCH=arc clean was crapping out ifneq ($(platform-y),) core-y += arch/arc/plat-$(PLATFORM)/@@ -101,6 +104,12 @@ bootpImage: vmlinux uImage: vmlinux $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@ +%.dtb %.dtb.S %.dtb.o: + $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
arm64 also depends on scripts here, presumably for a reason. I've copied this in metag too.
+ +dtbs: + $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
arm64 does this like below which I think is slightly nicer than how metag did it: dtbs: scripts $(Q)$(MAKE) $(build)=$(boot)/dts dtbs
quoted hunk ↗ jump to hunk
+ archclean: $(Q)$(MAKE) $(clean)=$(boot)diff --git a/arch/arc/boot/dts/Makefile b/arch/arc/boot/dts/Makefile new file mode 100644 index 0000000..4a972a3 --- /dev/null +++ b/arch/arc/boot/dts/Makefile@@ -0,0 +1,14 @@ +ifeq ($(CONFIG_OF),y) + +# Built-in dtb +builtindtb-y := skeleton + +ifneq ($(CONFIG_ARC_BUILTIN_DTB_NAME),"") + builtindtb-y := $(CONFIG_ARC_BUILTIN_DTB_NAME) +endif + +obj-y += $(patsubst "%",%,$(builtindtb-y)).dtb.o + +clean-files := *.dtb
You don't seem to have a rule for dtbs, but still redirect it in the main Makefile. I suppose dtbs may want adding to your archhelp if you use it. arm64 also adds dtbs and $(dtb-y) to targets (at least in linux-next). I think this makes sure that they don't get rebuilt unless they've actually changed. I've also copied this for metag.
quoted hunk ↗ jump to hunk
--- a/arch/arc/kernel/Makefile +++ b/arch/arc/kernel/Makefile@@ -8,6 +8,8 @@ obj-y := arcksyms.o setup.o irq.o time.o reset.o ptrace.o entry.o process.o obj-y += signal.o traps.o sys.o troubleshoot.o stacktrace.o clk.o +obj-$(CONFIG_OF) += devtree.o +
You always select CONFIG_OF, so this could be obj-y. I'm not sure this particularly matters though. Cheers James