From 79cd1e31b109d65b796633099c12ba92f8f21dcb Mon Sep 17 00:00:00 2001 From: Laxman Dewangan Date: Sat, 25 Feb 2023 20:51:14 +0000 Subject: [PATCH] device-tree: Makefile: Exclude DTS file from protected SOCs For few kernel variant, it is not required to build DT for private SoCs. The list of protected SoCs is passed from parent makefile. Parse the list and exclude the DTS from that SOC's platform. Change-Id: If29cdc3e1279b929b5c8f90151dd86245c387075 Signed-off-by: Laxman Dewangan Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2863623 GVS: Gerrit_Virtual_Submit --- device-tree/platform/generic-dts/Makefile | 11 ++++++++++- device-tree/platform/legacy-dts/Makefile | 11 ++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/device-tree/platform/generic-dts/Makefile b/device-tree/platform/generic-dts/Makefile index 74cdc9c5..55a337de 100644 --- a/device-tree/platform/generic-dts/Makefile +++ b/device-tree/platform/generic-dts/Makefile @@ -55,7 +55,16 @@ dtbo-y := DTB_LIST := $(dtb-y) DTBO_LIST := $(dtbo-y) dtb-y := -kdts := $(shell find $(tegra-dtstree)/platform -name generic-dts) +fdts := $(shell find $(tegra-dtstree)/platform -name generic-dts) + +# Remove the DTs from protected soc list +ifneq ($(protected_soc_list),) +kdts := $(foreach dt_path, $(fdts), $(if $(filter $(protected_soc_list),$(patsubst -,$(space),$(subst /, $(space),$(dt_path)))),,$(dt_path))) +kdts := $(filter-out $(space)$(space),$(kdts)) +else +kdts := $(fdts) +endif + dts_makefile=$(foreach d,$(wildcard $1*), $(call dts_makefile,$(d)/,$(2)) $(if $(findstring Makefile,$(d)),$(d))) dts_mfiles = $(call dts_makefile, $(kdts), Makefile) diff --git a/device-tree/platform/legacy-dts/Makefile b/device-tree/platform/legacy-dts/Makefile index d040945a..069323f8 100644 --- a/device-tree/platform/legacy-dts/Makefile +++ b/device-tree/platform/legacy-dts/Makefile @@ -51,7 +51,16 @@ dtbo-oot-y := DTB_LIST := $(dtb-oot-y) DTBO_LIST := $(dtbo-oot-y) dtb-oot-y := -kdts := $(shell find $(tegra-dtstree)/platform -name kernel-dts) +fdts := $(shell find $(tegra-dtstree)/platform -name kernel-dts) + +# Remove the DTs from protected soc list +ifneq ($(protected_soc_list),) +kdts := $(foreach dt_path, $(fdts), $(if $(filter $(protected_soc_list),$(patsubst -,$(space),$(subst /, $(space),$(dt_path)))),,$(dt_path))) +kdts := $(filter-out $(space)$(space),$(kdts)) +else +kdts := $(fdts) +endif + dts_makefile=$(foreach d,$(wildcard $1*), $(call dts_makefile,$(d)/,$(2)) $(if $(findstring Makefile,$(d)),$(d))) dts_mfiles = $(call dts_makefile, $(kdts), Makefile)