msm: camera: common: Remove shell commands from android makefiles

Remove direct shell commands from Android makefiles to better make use
of android function definitions.
Also changes mmrm dependency to be based on whether or not the driver
is detected in the build before setting it as a dependency.

CRs-Fixed: 3298147
Change-Id: I0d5f2c9eb34ac635604c515638c9f00e29ae0b2a
Signed-off-by: Suraj Dongre <quic_sdongre@quicinc.com>
Tento commit je obsažen v:
Suraj Dongre
2022-06-16 10:58:11 -07:00
odevzdal Camera Software Integration
rodič b6b223b1ec
revize a97e0b887a
5 změnil soubory, kde provedl 69 přidání a 34 odebrání

Zobrazit soubor

@@ -12,39 +12,63 @@ ifeq ($(call is-board-platform-in-list, $(TARGET_BOARD_PLATFORM)),true)
LOCAL_PATH := $(call my-dir)
# Path to DLKM make scripts
DLKM_DIR := $(TOP)/device/qcom/common/dlkm
# List of board platforms for which MMRM driver API should be enabled
MMRM_BOARDS := taro parrot kalama
MMRM_BOARDS := taro parrot kalama 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=$(shell pwd)/$(LOCAL_PATH)
KBUILD_OPTIONS += KERNEL_ROOT=$(shell pwd)/kernel/msm-$(TARGET_KERNEL_VERSION)/
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 := \
$(shell find $(LOCAL_PATH)/config -L -type f) \
$(shell find $(LOCAL_PATH)/drivers -L -type f) \
$(shell find $(LOCAL_PATH)/dt-bindings -L -type f) \
$(shell find $(LOCAL_PATH)/include -L -type f) \
$(LOCAL_PATH)/Android.mk \
$(LOCAL_PATH)/board.mk \
$(LOCAL_PATH)/product.mk \
$(LOCAL_PATH)/Kbuild
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
ifeq ($(call is-board-platform-in-list, $(MMRM_BOARDS)),true)
$(warning camera-kernel: Adding msm-mmrm dependency!)
KBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(shell pwd)/$(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
LOCAL_REQUIRED_MODULES := mmrm-module-symvers
LOCAL_ADDITIONAL_DEPENDENCIES := $(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
endif
# 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

4
Kbuild
Zobrazit soubor

@@ -54,6 +54,10 @@ ifeq ($(CONFIG_ARCH_PARROT), y)
include $(CAMERA_KERNEL_ROOT)/config/parrot.mk
endif
ifdef ($(KBUILD_EXTRA_CONFIGS))
include $(KBUILD_EXTRA_CONFIGS)
endif
# List of all camera-kernel headers
cam_include_dirs := $(shell dirname `find $(CAMERA_KERNEL_ROOT) -name '*.h'` | uniq)

22
dependency.mk Normální soubor
Zobrazit soubor

@@ -0,0 +1,22 @@
# SPDX-License-Identifier: GPL-2.0-only
# Check if this board's product.mk finds msm-mmrm.ko driver
ifeq ($(findstring msm-mmrm.ko,$(BOARD_VENDOR_KERNEL_MODULES)), msm-mmrm.ko)
# Assume if msm-mmrm.ko driver is found, then symbols will be required!
ifeq ($(call is-board-platform-in-list, $(MMRM_BOARDS)),true)
# Add MMRM driver symbols, requires absolute path
CAM_MMRM_EXTRA_SYMBOLS ?= $(realpath $(TOP))/$(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
$(info camera-kernel: Found msm-mmrm driver, adding symbol dependency! $(CAM_MMRM_EXTRA_SYMBOLS))
ifneq ($(TARGET_BOARD_PLATFORM), pineapple)
LOCAL_REQUIRED_MODULES := mmrm-module-symvers
endif # End of check lanai
CAM_MMRM_EXTRA_CONFIGS ?= $(TOP)/vendor/qcom/opensource/mmrm-driver/config/waipiommrm.conf
LOCAL_ADDITIONAL_DEPENDENCIES := $(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers
endif # End of check for board platform MMRM_BOARDS
endif # End of find msm-mmrm driver
KBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(CAM_MMRM_EXTRA_SYMBOLS)
KBUILD_OPTIONS += KBUILD_EXTRA_CONFIGS=$(CAM_MMRM_EXTRA_CONFIGS)

Zobrazit soubor

@@ -1,15 +0,0 @@
# SPDX-License-Identifier: GPL-2.0-only
ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_core
ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_smmu/
ccflags-y += -I$(srctree)/techpack/camera/drivers/cam_utils
ccflags-y += -I$(srctree)/include/
ccflags-y += -I$(srctree)/
obj-$(CONFIG_SPECTRA_CAMERA) += cam_req_mgr_core.o\
cam_req_mgr_dev.o \
cam_req_mgr_util.o \
cam_req_mgr_workq.o \
cam_mem_mgr.o \
cam_req_mgr_timer.o \
cam_req_mgr_debug.o

Zobrazit soubor

@@ -4,7 +4,7 @@ LOCAL_PATH := $(call my-dir)
LOCAL_EXPORT_CAMERA_UAPI_INCLUDE := $(LOCAL_PATH)/camera/
CAMERA_HEADERS := $(call all-subdir-named-files,*.h)
KERNEL_SCRIPTS := $(shell pwd)/kernel/msm-$(TARGET_KERNEL_VERSION)/scripts
KERNEL_SCRIPTS := $(LOCAL_PATH)/kernel/msm-$(TARGET_KERNEL_VERSION)/scripts
include $(CLEAR_VARS)
LOCAL_MODULE := camera-uapi