kernel: Add support for module aliases
* On devices using vendor_overlay it could be useful
to be able to re-name the installed modules to
match the ones in vendor
-> An example is QCOM techpack where default module
name in kernel doesn't match installed module
name
Change-Id: If9458bca06218aeb8c91283057c083d909bf5104
diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk
index 6efc910..af5c943 100644
--- a/build/tasks/kernel.mk
+++ b/build/tasks/kernel.mk
@@ -274,7 +274,11 @@
echo "Installing Kernel Modules"; \
$(call make-kernel-target,INSTALL_MOD_PATH=$(MODULES_INTERMEDIATES) INSTALL_MOD_STRIP=1 modules_install); \
kernel_release=$$(cat $(KERNEL_RELEASE)) \
- modules=$$(find $(MODULES_INTERMEDIATES)/lib/modules/$$kernel_release -type f -name '*.ko'); \
+ kernel_modules_dir=$(MODULES_INTERMEDIATES)/lib/modules/$$kernel_release \
+ $(foreach s, $(TARGET_MODULE_ALIASES),\
+ $(eval p := $(subst :,$(space),$(s))) \
+ ; mv $$(find $$kernel_modules_dir -name $(word 1,$(p))) $$kernel_modules_dir/$(word 2,$(p))); \
+ modules=$$(find $$kernel_modules_dir -type f -name '*.ko'); \
($(call build-image-kernel-modules,$$modules,$(KERNEL_MODULES_OUT),$(KERNEL_MODULE_MOUNTPOINT)/,$(KERNEL_DEPMOD_STAGING_DIR))); \
fi