123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- CAMERA_DLKM_ENABLED := true
- ifeq ($(TARGET_KERNEL_DLKM_DISABLE), true)
- ifeq ($(TARGET_KERNEL_DLKM_CAMERA_OVERRIDE), false)
- CAMERA_DLKM_ENABLED := false;
- endif
- endif
- ifeq ($(CAMERA_DLKM_ENABLED),true)
- ifeq ($(call is-board-platform-in-list, $(TARGET_BOARD_PLATFORM)),true)
- # Make target to specify building the camera.ko from within Android build system.
- LOCAL_PATH := $(call my-dir)
- # Path to DLKM make scripts
- DLKM_DIR := $(TOP)/device/qcom/common/dlkm
- #LOCAL_MODULE_DDK_BUILD := true
- LOCAL_MODULE_DDK_SUBTARGET_REGEX := "camera.*"
- ifeq ($(TARGET_BOARD_PLATFORM), volcano)
- LOCAL_MODULE_DDK_SUBTARGET_REGEX := "$(TARGET_BOARD_PLATFORM)_camera.*"
- ifneq ($(PROJECT_NAME),)
- LOCAL_MODULE_DDK_EXTRA_ARGS := "--//vendor/qcom/opensource/camera-kernel:project_name=$(PROJECT_NAME)"
- endif
- # List of board platforms for which MMRM driver API should be enabled
- MMRM_BOARDS := taro parrot kalama pineapple crow volcano
- # List of board platforms for which Synx V2 vendor driver API should be enabled
- SYNX_VENDOR_BOARDS := pineapple
- # List of board platforms for which SMCINVOKE_DLKM driver API should be enabled
- SMCINVOKE_DLKM_BOARDS := pineapple
- # List of board platforms for which SMMU_PROXY_DLKM driver API should be enabled
- SMMU_PROXY_DLKM_BOARDS := pineapple
- CAMERA_SRC_FILES := \
- $(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.h,drivers dt-bindings include))\
- $(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.mk,config))\
- $(addprefix $(LOCAL_PATH)/, $(call all-named-files-under,*.c,drivers))\
- $(LOCAL_PATH)/dependency.mk \
- $(LOCAL_PATH)/board.mk \
- $(LOCAL_PATH)/product.mk \
- $(LOCAL_PATH)/Kbuild
- # Target for pre-sil symbols
- ifeq ($(CONFIG_CAM_PRESIL), y)
- $(warning camera-kernel: Enabling Pre-Sil Kbuild Options!)
- KBUILD_OPTIONS := CONFIG_CAM_PRESIL=y
- include $(CLEAR_VARS)
- $(warning camera-kernel: Enabling Pre-Sil build, exporting symbols!)
- LOCAL_SRC_FILES := $(CAMERA_SRC_FILES)
- LOCAL_MODULE := camera-kernel-symvers
- LOCAL_MODULE_STEM := Module.symvers
- LOCAL_MODULE_KBUILD_NAME := Module.symvers
- LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
- # Check build for optional dependencies
- include $(LOCAL_PATH)/dependency.mk
- include $(DLKM_DIR)/Build_external_kernelmodule.mk
- endif
- # Kbuild options
- KBUILD_OPTIONS := CAMERA_KERNEL_ROOT=$(TOP)/$(LOCAL_PATH)
- KBUILD_OPTIONS += KERNEL_ROOT=$(TOP)/kernel_platform/common
- KBUILD_OPTIONS += MODNAME=camera
- KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM)
- # Clear shell environment variables from previous android module during build
- include $(CLEAR_VARS)
- # For incremental compilation support.
- LOCAL_SRC_FILES := $(CAMERA_SRC_FILES)
- LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
- LOCAL_MODULE := camera.ko
- LOCAL_MODULE_TAGS := optional
- #LOCAL_MODULE_KBUILD_NAME := camera.ko
- #LOCAL_MODULE_DEBUG_ENABLE := true
- # Check build for optional dependencies
- include $(LOCAL_PATH)/dependency.mk
- # $(info LOCAL_SRC_FILES = $(LOCAL_SRC_FILES))
- # $(info intermediates mmrm symvers path = $(call intermediates-dir-for,DLKM,mmrm-module-symvers))
- # $(info CAMERA_EXTRA_SYMBOLS = $(CAMERA_EXTRA_SYMBOLS))
- # $(info CAMERA_EXTRA_CONFIGS = $(CAMERA_EXTRA_CONFIGS))
- # $(info LOCAL_ADDITIONAL_DEPENDENCIES = $(LOCAL_ADDITIONAL_DEPENDENCIES))
- # $(info LOCAL_REQUIRED_MODULES = $(LOCAL_REQUIRED_MODULES))
- # $(info DLKM_DIR = $(DLKM_DIR))
- $(info KBUILD_OPTIONS = $(KBUILD_OPTIONS))
- ifeq ($(TARGET_BOARD_PLATFORM), lahaina)
- # Include Kernel DLKM Android.mk target to place generated .ko file in image
- include $(DLKM_DIR)/AndroidKernelModule.mk
- # Include Camera UAPI Android.mk target to copy headers
- include $(LOCAL_PATH)/include/uapi/Android.mk
- else
- include $(DLKM_DIR)/Build_external_kernelmodule.mk
- endif
- endif # End of check for board platform
- endif # ifeq ($(CAMERA_DLKM_ENABLED),true)
|