Pārlūkot izejas kodu

mm-drivers: add support for compiling out mm driver modules

This change provides required support to disable mm driver modules
compilation along with all modules and supports specific flag for
override to enable compilation if required.

Change-Id: I3ea1383855a6be49ed12a23a3585e9d6ebb1810a
Signed-off-by: Prabhanjan Kandula <[email protected]>
(cherry picked from commit 91a337989da77e6071fdfbd03b43c423356c14c0)
Prabhanjan Kandula 3 gadi atpakaļ
vecāks
revīzija
91cfcb8220
3 mainītis faili ar 42 papildinājumiem un 17 dzēšanām
  1. 13 4
      Android.mk
  2. 18 10
      mm_driver_board.mk
  3. 11 3
      mm_driver_product.mk

+ 13 - 4
Android.mk

@@ -1,7 +1,16 @@
 MM_DRIVER_PATH := $(call my-dir)
-include $(MM_DRIVER_PATH)/msm_ext_display/Android.mk
-ifneq ($(TARGET_BOARD_PLATFORM), taro)
-include $(MM_DRIVER_PATH)/hw_fence/Android.mk
-include $(MM_DRIVER_PATH)/sync_fence/Android.mk
+
+MM_DRV_DLKM_ENABLE := true
+ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
+	ifeq ($(TARGET_KERNEL_DLKM_MM_DRV_OVERRIDE), false)
+		MM_DRV_DLKM_ENABLE := false
+	endif
 endif
 
+ifeq ($(MM_DRV_DLKM_ENABLE), true)
+	include $(MM_DRIVER_PATH)/msm_ext_display/Android.mk
+	ifneq ($(TARGET_BOARD_PLATFORM), taro)
+		include $(MM_DRIVER_PATH)/hw_fence/Android.mk
+		include $(MM_DRIVER_PATH)/sync_fence/Android.mk
+	endif
+endif

+ 18 - 10
mm_driver_board.mk

@@ -1,18 +1,26 @@
 #SPDX-License-Identifier: GPL-2.0-only
 
-ifneq ($(TARGET_BOARD_AUTO),true)
-	ifeq ($(call is-board-platform-in-list,$(TARGET_BOARD_PLATFORM)),true)
-		BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/msm_ext_display.ko
-		BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/msm_ext_display.ko
-		BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(KERNEL_MODULES_OUT)/msm_ext_display.ko
+MM_DRV_DLKM_ENABLE := true
+ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
+	ifeq ($(TARGET_KERNEL_DLKM_MM_DRV_OVERRIDE), false)
+		MM_DRV_DLKM_ENABLE := false
+	endif
+endif
 
-		ifneq ($(TARGET_BOARD_PLATFORM), taro)
-		BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/sync_fence.ko \
+ifeq ($(MM_DRV_DLKM_ENABLE), true)
+	ifneq ($(TARGET_BOARD_AUTO),true)
+		ifeq ($(call is-board-platform-in-list,$(TARGET_BOARD_PLATFORM)),true)
+			BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/msm_ext_display.ko
+			BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/msm_ext_display.ko
+			BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(KERNEL_MODULES_OUT)/msm_ext_display.ko
+			ifneq ($(TARGET_BOARD_PLATFORM), taro)
+				BOARD_VENDOR_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/sync_fence.ko \
 					       $(KERNEL_MODULES_OUT)/msm_hw_fence.ko
-		BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/sync_fence.ko \
-						       $(KERNEL_MODULES_OUT)/msm_hw_fence.ko
-		BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(KERNEL_MODULES_OUT)/sync_fence.ko \
+				BOARD_VENDOR_RAMDISK_KERNEL_MODULES += $(KERNEL_MODULES_OUT)/sync_fence.ko \
+					               $(KERNEL_MODULES_OUT)/msm_hw_fence.ko
+				BOARD_VENDOR_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD += $(KERNEL_MODULES_OUT)/sync_fence.ko \
 					                             $(KERNEL_MODULES_OUT)/msm_hw_fence.ko
+			endif
 		endif
 	endif
 endif

+ 11 - 3
mm_driver_product.mk

@@ -1,7 +1,15 @@
-# SPDX-License-Identifier: GPL-2.0-only
 
 PRODUCT_PACKAGES += msm_ext_display.ko
 
-ifneq ($(TARGET_BOARD_PLATFORM), taro)
-PRODUCT_PACKAGES += sync_fence.ko msm_hw_fence.ko
+MM_DRV_DLKM_ENABLE := true
+ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
+	ifeq ($(TARGET_KERNEL_DLKM_MM_DRV_OVERRIDE), false)
+		MM_DRV_DLKM_ENABLE := false
+	endif
+endif
+
+ifeq ($(MM_DRV_DLKM_ENABLE), true)
+	ifneq ($(TARGET_BOARD_PLATFORM), taro)
+		PRODUCT_PACKAGES += sync_fence.ko msm_hw_fence.ko
+	endif
 endif