From 6a6d8f81c27bd006d2a61047dccf9338e119c362 Mon Sep 17 00:00:00 2001 From: Daniel Mentz Date: Tue, 11 May 2021 22:58:19 -0700 Subject: [PATCH] Read vendor_boot.modules.load and vendor_dlkm.modules.load Previously, we copied all available kernel modules into the vendor_boot ramdisk except for approx. 14 modules that we explicitly excluded. Going forward, the kernel build will distribute the two additional files vendor_boot.modules.load and vendor_dlkm.modules.load which define, respectively, the lists of modules that should be loaded from vendor_boot and vendor_dlkm. The contents of the two *.modules.load files will be copied almost verbatim into modules.load files in the respective images except for the fact that the directory names of the .ko files are stripped. So, for example, kernel/net/core/pktgen.ko becomes just pktgen.ko. Additionally, we only copy those .ko files into the vendor_boot image that are listed in vendor_boot.modules.load. On the other hand, the vendor_dlkm partition image will contain all .ko files regardless of whether they are listed in vendor_dlkm.modules.load. Bug: 190652328 Change-Id: Ibda5b9368547ad089575333e2566697ec0e8465f --- BoardConfig-common.mk | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 2408b1e9..9c5f4259 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -379,30 +379,20 @@ BOARD_BUILD_SYSTEM_ROOT_IMAGE := false # Vendor ramdisk image for kernel development BOARD_BUILD_VENDOR_RAMDISK_IMAGE := true -# Kernel modules -BOARD_VENDOR_KERNEL_MODULES += \ - $(wildcard $(TARGET_KERNEL_DIR)/*.ko) +KERNEL_MODULE_DIR := $(TARGET_KERNEL_DIR) +KERNEL_MODULES := $(wildcard $(KERNEL_MODULE_DIR)/*.ko) -BOARD_VENDOR_RAMDISK_KERNEL_MODULES_FILTER += \ - $(TARGET_KERNEL_DIR)/bcmdhd43752.ko \ - $(TARGET_KERNEL_DIR)/bcmdhd4389.ko \ - $(TARGET_KERNEL_DIR)/lwis.ko \ - $(TARGET_KERNEL_DIR)/pinctrl-slg51000.ko \ - $(TARGET_KERNEL_DIR)/pktgen.ko \ - $(TARGET_KERNEL_DIR)/slg51000-core.ko \ - $(TARGET_KERNEL_DIR)/slg51000-regulator.ko \ - $(TARGET_KERNEL_DIR)/stmvl53l1.ko \ - $(TARGET_KERNEL_DIR)/ftm5.ko \ - $(TARGET_KERNEL_DIR)/haptics-cs40l2x.ko \ - $(TARGET_KERNEL_DIR)/snd_soc_cs40l2x.ko \ - $(TARGET_KERNEL_DIR)/sec_touch.ko \ - $(TARGET_KERNEL_DIR)/cl_dsp.ko \ - $(TARGET_KERNEL_DIR)/input-cs40l26-i2c.ko +BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_boot.modules.load)) +ifndef BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD +$(error vendor_boot.modules.load not found or empty) +endif +BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(addprefix $(KERNEL_MODULE_DIR)/, $(notdir $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_LOAD))) -BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \ - $(filter-out $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES_FILTER), $(foreach module, $(notdir \ - $(shell cat $(TARGET_KERNEL_DIR)/modules.load)), \ - $(TARGET_KERNEL_DIR)/$(module))) +BOARD_VENDOR_KERNEL_MODULES_LOAD := $(strip $(shell cat $(KERNEL_MODULE_DIR)/vendor_dlkm.modules.load)) +ifndef BOARD_VENDOR_KERNEL_MODULES_LOAD +$(error vendor_dlkm.modules.load not found or empty) +endif +BOARD_VENDOR_KERNEL_MODULES := $(KERNEL_MODULES) # Using BUILD_COPY_HEADERS BUILD_BROKEN_USES_BUILD_COPY_HEADERS := true