Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
91cfcb8220
3 değiştirilmiş dosya ile 42 ekleme ve 17 silme
  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