Commit 54981a42 authored by Olof Johansson's avatar Olof Johansson
Browse files

Merge tag 'dts-subdirs-for-arm-soc-v3.19' of...

Merge tag 'dts-subdirs-for-arm-soc-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/linux into next/cleanup

Pull "dts, kbuild: Implement support for dtb vendor subdirs" from
Robert Richter:

dts, kbuild: Implement support for dtb vendor subdirs

For arm64 we want to put dts files into vendor's subdirectories from
the beginning. This patch set implements this. As this is a generic
kbuild implementation, vendor subdirs will be also available for
arch/arm and other architectures. The subdirectory tree is also
reflected in the install path.

A new makefile variable dts-dirs is introduced to point to dts
subdirs. This variable is used by kbuild for building and installation
of dtb files.

A dts Makefile looks now as follows:

----
dtb-$(CONFIG_...) += some_file_1.dtb
dtb-$(CONFIG_...) += some_file_2.dtb

dts-dirs          += dir_vendor_a
dts-dirs          += dir_vendor_b

always         := $(dtb-y)
subdir-y       := $(dts-dirs)
clean-files    := *.dtb
----

This patches also introduces the dtbs_install make target for
arm64. Install rules are moved to Makefile.dtbinst using the same
style and calling convention like for modinst and fwinst.

* tag 'dts-subdirs-for-arm-soc-v3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/linux

:
  dts, arm: Remove $(MACHINE) variable from dtbs make recipes
  dts, arm64: Move dts files to vendor subdirs
  dts, kbuild: Implement support for dtb vendor subdirs
  dts, arm/arm64: Remove dtbs build rules in sub-makes
  dts, kbuild: Factor out dtbs install rules to Makefile.dtbinst
  dts, arm64: Add dtbs_install make target

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 0df1f248 6f889d8b
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -312,8 +312,12 @@ $(INSTALL_TARGETS):
	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@

PHONY += dtbs dtbs_install
dtbs dtbs_install: prepare scripts
	$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $@

dtbs: prepare scripts
	$(Q)$(MAKE) $(build)=$(boot)/dts

dtbs_install:
	$(Q)$(MAKE) $(dtbinst)=$(boot)/dts

# We use MRPROPER_FILES and CLEAN_FILES now
archclean:
+2 −10
Original line number Diff line number Diff line
@@ -517,15 +517,7 @@ dtb-$(CONFIG_MACH_DOVE) += dove-cm-a510.dtb \
	dove-dove-db.dtb
dtb-$(CONFIG_ARCH_MEDIATEK) += mt6589-aquaris5.dtb

targets += dtbs dtbs_install
targets += $(dtb-y)
endif

# *.dtb used to be generated in the directory above. Clean out the
# old build results so people don't accidentally use them.
dtbs: $(addprefix $(obj)/, $(dtb-y))
	$(Q)rm -f $(obj)/../*.dtb

always		:= $(dtb-y)
clean-files	:= *.dtb

dtbs_install: $(addsuffix _dtbinst_, $(dtb-y))
+8 −2
Original line number Diff line number Diff line
@@ -70,8 +70,13 @@ zinstall install: vmlinux
%.dtb: scripts
	$(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@

dtbs: scripts
	$(Q)$(MAKE) $(build)=$(boot)/dts dtbs
PHONY += dtbs dtbs_install

dtbs: prepare scripts
	$(Q)$(MAKE) $(build)=$(boot)/dts

dtbs_install:
	$(Q)$(MAKE) $(dtbinst)=$(boot)/dts

PHONY += vdso_install
vdso_install:
@@ -85,6 +90,7 @@ define archhelp
  echo  '* Image.gz      - Compressed kernel image (arch/$(ARCH)/boot/Image.gz)'
  echo  '  Image         - Uncompressed kernel image (arch/$(ARCH)/boot/Image)'
  echo  '* dtbs          - Build device tree blobs for enabled boards'
  echo  '  dtbs_install  - Install dtbs to $(INSTALL_DTBS_PATH)'
  echo  '  install       - Install uncompressed kernel'
  echo  '  zinstall      - Install compressed kernel'
  echo  '                  Install using (your) ~/bin/installkernel or'
+6 −9
Original line number Diff line number Diff line
dtb-$(CONFIG_ARCH_THUNDER) += thunder-88xx.dtb
dtb-$(CONFIG_ARCH_VEXPRESS) += rtsm_ve-aemv8a.dtb foundation-v8.dtb
dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb

targets += dtbs
targets += $(dtb-y)

dtbs: $(addprefix $(obj)/, $(dtb-y))
dts-dirs += apm
dts-dirs += arm
dts-dirs += cavium

always		:= $(dtb-y)
subdir-y	:= $(dts-dirs)
clean-files	:= *.dtb
+5 −0
Original line number Diff line number Diff line
dtb-$(CONFIG_ARCH_XGENE) += apm-mustang.dtb

always		:= $(dtb-y)
subdir-y	:= $(dts-dirs)
clean-files	:= *.dtb
Loading