1
1
mirror of https://github.com/NixOS/mobile-nixos.git synced 2024-12-01 11:43:55 +03:00
mobile-nixos/devices/asus-flo/kernel/90_dtbs-install.patch
Samuel Dionne-Riel a5b9e275ed Adds asus-flo with lineageos kernel
Current issues:

 * Framebuffer colors are wrong. (RGBA → BGRA)
2018-07-01 17:42:33 -04:00

78 lines
2.4 KiB
Diff

diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 5975cc483b7..45ae24921ea 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -305,6 +305,9 @@ zinstall uinstall install: vmlinux
%.dtb: scripts
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
+dtbs_install:
+ $(Q)$(MAKE) $(dtbinst)=$(boot)
+
dtbs: scripts
$(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include
index 978416dd31c..e0d2f74d046 100644
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -169,6 +169,12 @@ build := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.build obj
# $(Q)$(MAKE) $(modbuiltin)=dir
modbuiltin := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.modbuiltin obj
+###
+# Shorthand for $(Q)$(MAKE) -f scripts/Makefile.dtbinst obj=
+# Usage:
+# $(Q)$(MAKE) $(dtbinst)=dir
+dtbinst := -f $(if $(KBUILD_SRC),$(srctree)/)scripts/Makefile.dtbinst obj
+
# Prefix -I with $(srctree) if it is not an absolute path.
# skip if -I has no parameter
addtree = $(if $(patsubst -I%,%,$(1)), \
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
new file mode 100644
index 00000000000..7301ab5e2e0
--- /dev/null
+++ b/scripts/Makefile.dtbinst
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: GPL-2.0
+# ==========================================================================
+# Installing dtb files
+#
+# Installs all dtb files listed in $(dtb-y) either in the
+# INSTALL_DTBS_PATH directory or the default location:
+#
+# $INSTALL_PATH/dtbs/$KERNELRELEASE
+# ==========================================================================
+
+src := $(obj)
+
+PHONY := __dtbs_install
+__dtbs_install:
+
+export dtbinst_root ?= $(obj)
+
+include include/config/auto.conf
+include scripts/Kbuild.include
+include $(src)/Makefile
+
+dtbinst-files := $(sort $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS), $(dtb-)))
+dtbinst-dirs := $(subdir-y) $(subdir-m)
+
+# Helper targets for Installing DTBs into the boot directory
+quiet_cmd_dtb_install = INSTALL $<
+ cmd_dtb_install = mkdir -p $(2); cp $< $(2)
+
+install-dir = $(patsubst $(dtbinst_root)%,$(INSTALL_DTBS_PATH)%,$(obj))
+
+$(dtbinst-files): %.dtb: $(obj)/%.dtb
+ $(call cmd,dtb_install,$(install-dir))
+
+$(dtbinst-dirs):
+ $(Q)$(MAKE) $(dtbinst)=$(obj)/$@
+
+PHONY += $(dtbinst-files) $(dtbinst-dirs)
+__dtbs_install: $(dtbinst-files) $(dtbinst-dirs)
+
+.PHONY: $(PHONY)