Add overlays support for upstream kernel

This commit is contained in:
Stefan Mavrodiev 2018-02-15 11:21:51 +02:00
parent f6402803c2
commit 2123e539ed
3 changed files with 6367 additions and 2499 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,8 +1,22 @@
diff --git a/.gitignore b/.gitignore
index 705e099..c85ba43 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,7 +14,8 @@
*.bin
*.bz2
*.c.[012]*.*
-*.dtb
+*.dtb*
+*.scr
*.dtb.S
*.dwo
*.elf
diff --git a/arch/arm/Makefile b/arch/arm/Makefile diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index ab30cc63..cc176797 100644 index e83f516..89f7630 100644
--- a/arch/arm/Makefile --- a/arch/arm/Makefile
+++ b/arch/arm/Makefile +++ b/arch/arm/Makefile
@@ -339,6 +339,12 @@ $(INSTALL_TARGETS): @@ -345,6 +345,12 @@ $(INSTALL_TARGETS):
%.dtb: | scripts %.dtb: | scripts
$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@ $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
@ -15,22 +29,11 @@ index ab30cc63..cc176797 100644
PHONY += dtbs dtbs_install PHONY += dtbs dtbs_install
dtbs: prepare scripts dtbs: prepare scripts
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
index 3c79f859..eaaeb17e 100644
--- a/arch/arm/boot/.gitignore
+++ b/arch/arm/boot/.gitignore
@@ -3,4 +3,5 @@ zImage
xipImage
bootpImage
uImage
-*.dtb
+*.dtb*
+*.scr
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index b9a4a934..54e3c38d 100644 index b481b4a..f1b42f5 100644
--- a/arch/arm64/Makefile --- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile +++ b/arch/arm64/Makefile
@@ -119,6 +119,12 @@ zinstall install: @@ -134,6 +134,12 @@ zinstall install:
%.dtb: scripts %.dtb: scripts
$(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@ $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@
@ -43,41 +46,21 @@ index b9a4a934..54e3c38d 100644
PHONY += dtbs dtbs_install PHONY += dtbs dtbs_install
dtbs: prepare scripts dtbs: prepare scripts
diff --git a/arch/arm64/boot/dts/.gitignore b/arch/arm64/boot/dts/.gitignore
index b60ed208..5d65b54b 100644
--- a/arch/arm64/boot/dts/.gitignore
+++ b/arch/arm64/boot/dts/.gitignore
@@ -1 +1,2 @@
-*.dtb
+*.dtb*
+*.scr
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
index 34614a4..42e4937 100644 index 7301ab5..a08f9be 100644
--- a/scripts/Makefile.dtbinst --- a/scripts/Makefile.dtbinst
+++ b/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst
@@ -20,7 +20,16 @@ include include/config/auto.conf @@ -20,6 +20,9 @@ include scripts/Kbuild.include
include scripts/Kbuild.include
include $(src)/Makefile include $(src)/Makefile
+PHONY += __dtbs_install_prep dtbinst-files := $(sort $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS), $(dtb-)))
+__dtbs_install_prep:
+ifeq ("$(dtbinst-root)", "$(obj)")
+ $(Q)mkdir -p $(INSTALL_DTBS_PATH)
+endif
+
dtbinst-files := $(dtb-y)
+dtboinst-files := $(dtbo-y) +dtboinst-files := $(dtbo-y)
+script-files := $(scr-y) +script-files := $(scr-y)
+readme-files := $(dtbotxt-y) +readme-files := $(dtbotxt-y)
dtbinst-dirs := $(dts-dirs) dtbinst-dirs := $(subdir-y) $(subdir-m)
# Helper targets for Installing DTBs into the boot directory # Helper targets for Installing DTBs into the boot directory
@@ -29,13 +38,24 @@ quiet_cmd_dtb_install = INSTALL $< @@ -31,10 +34,19 @@ install-dir = $(patsubst $(dtbinst_root)%,$(INSTALL_DTBS_PATH)%,$(obj))
install-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj))
+$(dtbinst-files) $(dtboinst-files) $(readme-files) $(script-files) $(dtbinst-dirs): | __dtbs_install_prep
+
$(dtbinst-files): %.dtb: $(obj)/%.dtb $(dtbinst-files): %.dtb: $(obj)/%.dtb
$(call cmd,dtb_install,$(install-dir)) $(call cmd,dtb_install,$(install-dir))
@ -100,20 +83,10 @@ index 34614a4..42e4937 100644
.PHONY: $(PHONY) .PHONY: $(PHONY)
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 0a07f901..5ccd3490 100644 index ba0643e..26e6af4 100644
--- a/scripts/Makefile.lib --- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib +++ b/scripts/Makefile.lib
@@ -278,6 +278,9 @@ cmd_gzip = (cat $(filter-out FORCE,$^) | gzip -n -f -9 > $@) || \ @@ -320,6 +320,23 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
# ---------------------------------------------------------------------------
DTC ?= $(objtree)/scripts/dtc/dtc
+# Overlay support
+DTC_FLAGS += -@ -Wno-unit_address_format -Wno-simple_bus_reg
+
# Disable noisy checks by default
ifeq ($(KBUILD_ENABLE_EXTRA_GCC_CHECKS),)
DTC_FLAGS += -Wno-unit_address_vs_reg
@@ -312,6 +315,23 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
$(obj)/%.dtb: $(src)/%.dts FORCE $(obj)/%.dtb: $(src)/%.dts FORCE
$(call if_changed_dep,dtc) $(call if_changed_dep,dtc)
@ -121,8 +94,8 @@ index 0a07f901..5ccd3490 100644
+cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \ +cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \ + $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
+ $(DTC) -O dtb -o $@ -b 0 \ + $(DTC) -O dtb -o $@ -b 0 \
+ -i $(dir $<) $(DTC_FLAGS) \ + $(addprefix -i,$(dir $<) $(DTC_INCLUDE)) $(DTC_FLAGS) \
+ -d $(depfile).dtc.tmp $(dtc-tmp) ; \ + -d $(depfile).dtc.tmp $(dtc-tmp) ; \
+ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile) + cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
+ +
+$(obj)/%.dtbo: $(src)/%.dts FORCE +$(obj)/%.dtbo: $(src)/%.dts FORCE

File diff suppressed because it is too large Load diff