diff --git a/patch/kernel/archive/rockchip-6.9/patches.armbian/general-add-overlay-compilation-support.patch b/patch/kernel/archive/rockchip-6.9/patches.armbian/general-add-overlay-compilation-support.patch index 300e78afb0..b2e233f4dd 100644 --- a/patch/kernel/archive/rockchip-6.9/patches.armbian/general-add-overlay-compilation-support.patch +++ b/patch/kernel/archive/rockchip-6.9/patches.armbian/general-add-overlay-compilation-support.patch @@ -9,15 +9,26 @@ Subject: [PATCH] compile .scr and install overlays in right path 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst -index 67956f6496a5..1882d264306c 100644 +index 67956f6496a5..151687728a60 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst -@@ -33,7 +33,7 @@ endef +@@ -33,7 +33,18 @@ endef $(foreach d, $(sort $(dir $(dtbs))), $(eval $(call gen_install_rules,$(d)))) -dtbs := $(notdir $(dtbs)) -+dtbs := $(subst rockchip/,,$(dtbs)) ++# Very convoluted way to flatten all the device tree ++# directories, but keep the "/overlay/" directory ++ ++# topmost directory (ie: from rockchip/overlay/rk322x-emmc.dtbo extracts rockchip) ++topmost_dir = $(firstword $(subst /, ,$(dtbs))) ++# collect dtbs entries which starts with "$topmost_dir/overlay/", then remove "$topmost_dir" ++dtbs_overlays = $(subst $(topmost_dir)/,,$(filter $(topmost_dir)/overlay/%, $(dtbs))) ++# collect the non-overlay dtbs ++dtbs_regular = $(filter-out $(topmost_dir)/overlay/%, $(dtbs)) ++# compose the dtbs variable flattening all the non-overlays entries ++# and appending the overlays entries ++dtbs := $(notdir $(dtbs_regular)) $(dtbs_overlays) endif # CONFIG_ARCH_WANT_FLAT_DTB_INSTALL