Add installable to prebuilt_kernel_modules
Some kernel prebuilt modules are only meant to be included in
android_filesystem module, not to be installed to the device. To support
such use case, adding installable property.
Bug: 305118971
Test: build
Change-Id: Ie945fe1f8a20a2a1fea9a44bc36f94dc73fa2a40
diff --git a/kernel/prebuilt_kernel_modules.go b/kernel/prebuilt_kernel_modules.go
index 5bcca04..e200ee2 100644
--- a/kernel/prebuilt_kernel_modules.go
+++ b/kernel/prebuilt_kernel_modules.go
@@ -50,6 +50,9 @@
// Kernel version that these modules are for. Kernel modules are installed to
// /lib/modules/<kernel_version> directory in the corresponding partition. Default is "".
Kernel_version *string
+
+ // Whether this module is directly installable to one of the partitions. Default is true
+ Installable *bool
}
// prebuilt_kernel_modules installs a set of prebuilt kernel module files to the correct directory.
@@ -62,6 +65,10 @@
return module
}
+func (pkm *prebuiltKernelModules) installable() bool {
+ return proptools.BoolDefault(pkm.properties.Installable, true)
+}
+
func (pkm *prebuiltKernelModules) KernelVersion() string {
return proptools.StringDefault(pkm.properties.Kernel_version, "")
}
@@ -71,6 +78,9 @@
}
func (pkm *prebuiltKernelModules) GenerateAndroidBuildActions(ctx android.ModuleContext) {
+ if !pkm.installable() {
+ pkm.SkipInstall()
+ }
modules := android.PathsForModuleSrc(ctx, pkm.properties.Srcs)
depmodOut := runDepmod(ctx, modules)