diff --git a/Android.mk b/Android.mk index 8302bf59cd..c1ecd96745 100644 --- a/Android.mk +++ b/Android.mk @@ -17,8 +17,6 @@ VIDEO_SELECT := CONFIG_MSM_VIDC_V4L2=m # This is set once per LOCAL_PATH, not per (kernel) module KBUILD_OPTIONS := VIDEO_ROOT=$(VIDEO_BLD_DIR) -KBUILD_OPTIONS += MODNAME=msm_video -KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM) KBUILD_OPTIONS += $(VIDEO_SELECT) KBUILD_OPTIONS += KBUILD_EXTRA_SYMBOLS=$(shell pwd)/$(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers @@ -32,7 +30,7 @@ include $(CLEAR_VARS) # For incremental compilation LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*) LOCAL_MODULE := msm_video.ko -LOCAL_MODULE_KBUILD_NAME := msm_video.ko +LOCAL_MODULE_KBUILD_NAME := msm_video/msm_video.ko LOCAL_MODULE_TAGS := optional LOCAL_MODULE_DEBUG_ENABLE := true LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) @@ -40,7 +38,5 @@ LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) LOCAL_REQUIRED_MODULES := mmrm-module-symvers LOCAL_ADDITIONAL_DEPENDENCIES := $(call intermediates-dir-for,DLKM,mmrm-module-symvers)/Module.symvers -# Include kp_module.ko in the /vendor/lib/modules (vendor.img) -# BOARD_VENDOR_KERNEL_MODULES += $(LOCAL_MODULE_PATH)/$(LOCAL_MODULE) include $(DLKM_DIR)/Build_external_kernelmodule.mk endif diff --git a/Kbuild b/Kbuild index 95fdc366a2..ef3e358001 100644 --- a/Kbuild +++ b/Kbuild @@ -1,99 +1 @@ -# SPDX-License-Identifier: GPL-2.0-only - -KBUILD_CPPFLAGS += -DCONFIG_MSM_MMRM=1 - -ifeq ($(CONFIG_ARCH_WAIPIO), y) -include $(VIDEO_ROOT)/config/waipio_video.conf -LINUXINCLUDE += -include $(VIDEO_ROOT)/config/waipio_video.h \ - -I$(VIDEO_ROOT)/driver/platform/waipio/inc -endif - -ifeq ($(CONFIG_ARCH_KALAMA), y) -include $(VIDEO_ROOT)/config/kalama_video.conf -LINUXINCLUDE += -include $(VIDEO_ROOT)/config/kalama_video.h \ - -I$(VIDEO_ROOT)/driver/platform/kalama/inc -endif - -ifeq ($(CONFIG_ARCH_PINEAPPLE), y) -include $(VIDEO_ROOT)/config/pineapple_video.conf -LINUXINCLUDE += -include $(VIDEO_ROOT)/config/pineapple_video.h \ - -I$(VIDEO_ROOT)/driver/platform/pineapple/inc -endif - -ifeq ($(CONFIG_ARCH_ANORAK), y) -include $(VIDEO_ROOT)/config/anorak_video.conf -LINUXINCLUDE += -include $(VIDEO_ROOT)/config/anorak_video.h \ - -I$(VIDEO_ROOT)/driver/platform/anorak/inc -endif - -LINUXINCLUDE += -I$(VIDEO_ROOT)/driver/vidc/inc \ - -I$(VIDEO_ROOT)/driver/platform/common/inc \ - -I$(VIDEO_ROOT)/driver/variant/common/inc \ - -I$(VIDEO_ROOT)/include/uapi/vidc - -USERINCLUDE += -I$(VIDEO_ROOT)/include/uapi/vidc/media \ - -I$(VIDEO_ROOT)/include/uapi/vidc - -obj-m += msm_video.o - -ifeq ($(CONFIG_MSM_VIDC_WAIPIO), y) -msm_video-objs += driver/platform/waipio/src/msm_vidc_waipio.o -endif - -ifeq ($(CONFIG_MSM_VIDC_KALAMA), y) -msm_video-objs += driver/platform/kalama/src/msm_vidc_kalama.o -endif - -ifeq ($(CONFIG_MSM_VIDC_PINEAPPLE), y) -msm_video-objs += driver/platform/pineapple/src/msm_vidc_pineapple.o -endif - -ifeq ($(CONFIG_MSM_VIDC_ANORAK), y) -msm_video-objs += driver/platform/anorak/src/msm_vidc_anorak.o -endif - -ifeq ($(CONFIG_MSM_VIDC_IRIS2), y) -LINUXINCLUDE += -I$(VIDEO_ROOT)/driver/variant/iris2/inc -msm_video-objs += driver/variant/iris2/src/msm_vidc_buffer_iris2.o \ - driver/variant/iris2/src/msm_vidc_power_iris2.o \ - driver/variant/iris2/src/msm_vidc_iris2.o -endif - -ifeq ($(CONFIG_MSM_VIDC_IRIS3), y) -LINUXINCLUDE += -I$(VIDEO_ROOT)/driver/variant/iris3/inc -msm_video-objs += driver/variant/iris3/src/msm_vidc_buffer_iris3.o \ - driver/variant/iris3/src/msm_vidc_power_iris3.o \ - driver/variant/iris3/src/msm_vidc_iris3.o -endif - -ifeq ($(CONFIG_MSM_VIDC_IRIS33), y) -LINUXINCLUDE += -I$(VIDEO_ROOT)/driver/variant/iris33/inc -msm_video-objs += driver/variant/iris33/src/msm_vidc_buffer_iris33.o \ - driver/variant/iris33/src/msm_vidc_power_iris33.o \ - driver/variant/iris33/src/msm_vidc_iris33.o -endif - -msm_video-objs += driver/vidc/src/msm_vidc_v4l2.o \ - driver/vidc/src/msm_vidc_vb2.o \ - driver/vidc/src/msm_vidc.o \ - driver/vidc/src/msm_vdec.o \ - driver/vidc/src/msm_venc.o \ - driver/vidc/src/msm_vidc_driver.o \ - driver/vidc/src/msm_vidc_state.o \ - driver/vidc/src/msm_vidc_control.o \ - driver/vidc/src/msm_vidc_control_ext.o \ - driver/vidc/src/msm_vidc_buffer.o \ - driver/vidc/src/msm_vidc_power.o \ - driver/vidc/src/msm_vidc_probe.o \ - driver/vidc/src/resources.o \ - driver/vidc/src/firmware.o \ - driver/vidc/src/msm_vidc_debug.o \ - driver/vidc/src/msm_vidc_memory.o \ - driver/vidc/src/msm_vidc_memory_ext.o \ - driver/vidc/src/msm_vidc_fence.o \ - driver/vidc/src/venus_hfi.o \ - driver/vidc/src/venus_hfi_queue.o \ - driver/vidc/src/hfi_packet.o \ - driver/vidc/src/venus_hfi_response.o \ - driver/platform/common/src/msm_vidc_platform.o \ - driver/variant/common/src/msm_vidc_variant.o +obj-m := msm_video/ video/ diff --git a/Makefile b/Makefile index 92b3f7f075..04a894a58b 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-only -KBUILD_OPTIONS+= VIDEO_ROOT=$(KERNEL_SRC)/$(M) - VIDEO_COMPILE_TIME = $(shell date) VIDEO_COMPILE_BY = $(shell whoami | sed 's/\\/\\\\/') VIDEO_COMPILE_HOST = $(shell uname -n) @@ -15,7 +13,11 @@ $(VIDEO_GEN_PATH): $(shell find . -type f \( -iname \*.c -o -iname \*.h -o -inam echo '#define VIDEO_COMPILE_HOST "$(VIDEO_COMPILE_HOST)"' >> $(VIDEO_GEN_PATH) modules: $(VIDEO_GEN_PATH) + ln -sf $(VIDEO_ROOT)/driver $(VIDEO_ROOT)/msm_video/driver + ln -sf $(VIDEO_ROOT)/driver $(VIDEO_ROOT)/video/driver $(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) + rm $(VIDEO_ROOT)/msm_video/driver + rm $(VIDEO_ROOT)/video/driver modules_install: $(MAKE) INSTALL_MOD_STRIP=1 -C $(KERNEL_SRC) M=$(M) modules_install diff --git a/msm_video/Kbuild b/msm_video/Kbuild new file mode 100644 index 0000000000..5e1a7967e6 --- /dev/null +++ b/msm_video/Kbuild @@ -0,0 +1,101 @@ +# SPDX-License-Identifier: GPL-2.0-only + +KBUILD_CPPFLAGS += -DCONFIG_MSM_MMRM=1 +VIDEO_DRIVER_ABS_PATH := $(VIDEO_ROOT)/msm_video/driver +VIDEO_DRIVER_REL_PATH := ../msm_video/driver + +ifeq ($(CONFIG_ARCH_WAIPIO), y) +include $(VIDEO_ROOT)/config/waipio_video.conf +LINUXINCLUDE += -include $(VIDEO_ROOT)/config/waipio_video.h \ + -I$(VIDEO_DRIVER_ABS_PATH)/platform/waipio/inc +endif + +ifeq ($(CONFIG_ARCH_KALAMA), y) +include $(VIDEO_ROOT)/config/kalama_video.conf +LINUXINCLUDE += -include $(VIDEO_ROOT)/config/kalama_video.h \ + -I$(VIDEO_DRIVER_ABS_PATH)/platform/kalama/inc +endif + +ifeq ($(CONFIG_ARCH_PINEAPPLE), y) +include $(VIDEO_ROOT)/config/pineapple_video.conf +LINUXINCLUDE += -include $(VIDEO_ROOT)/config/pineapple_video.h \ + -I$(VIDEO_DRIVER_ABS_PATH)/platform/pineapple/inc +endif + +ifeq ($(CONFIG_ARCH_ANORAK), y) +include $(VIDEO_ROOT)/config/anorak_video.conf +LINUXINCLUDE += -include $(VIDEO_ROOT)/config/anorak_video.h \ + -I$(VIDEO_DRIVER_ABS_PATH)/platform/anorak/inc +endif + +LINUXINCLUDE += -I$(VIDEO_DRIVER_ABS_PATH)/vidc/inc \ + -I$(VIDEO_DRIVER_ABS_PATH)/platform/common/inc \ + -I$(VIDEO_DRIVER_ABS_PATH)/variant/common/inc \ + -I$(VIDEO_ROOT)/include/uapi/vidc + +USERINCLUDE += -I$(VIDEO_ROOT)/include/uapi/vidc/media \ + -I$(VIDEO_ROOT)/include/uapi/vidc + +obj-m += msm_video.o + +ifeq ($(CONFIG_MSM_VIDC_WAIPIO), y) +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/waipio/src/msm_vidc_waipio.o +endif + +ifeq ($(CONFIG_MSM_VIDC_KALAMA), y) +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/kalama/src/msm_vidc_kalama.o +endif + +ifeq ($(CONFIG_MSM_VIDC_PINEAPPLE), y) +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/pineapple/src/msm_vidc_pineapple.o +endif + +ifeq ($(CONFIG_MSM_VIDC_ANORAK), y) +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/anorak/src/msm_vidc_anorak.o +endif + +ifeq ($(CONFIG_MSM_VIDC_IRIS2), y) +LINUXINCLUDE += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris2/inc +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris2/src/msm_vidc_buffer_iris2.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris2/src/msm_vidc_power_iris2.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris2/src/msm_vidc_iris2.o +endif + +ifeq ($(CONFIG_MSM_VIDC_IRIS3), y) +LINUXINCLUDE += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris3/inc +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_buffer_iris3.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_power_iris3.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_iris3.o +endif + +ifeq ($(CONFIG_MSM_VIDC_IRIS33), y) +LINUXINCLUDE += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris33/inc +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_buffer_iris33.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_power_iris33.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris33/src/msm_vidc_iris33.o +endif + +msm_video-objs += $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_vb2.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vdec.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_venc.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_driver.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_state.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_control.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_control_ext.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_buffer.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_power.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_probe.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/resources.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/firmware.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_debug.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_memory.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_memory_ext.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_fence.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_queue.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/hfi_packet.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_response.o \ + $(VIDEO_DRIVER_REL_PATH)/platform/common/src/msm_vidc_platform.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/common/src/msm_vidc_variant.o diff --git a/video/Kbuild b/video/Kbuild new file mode 100644 index 0000000000..8f34e74bd6 --- /dev/null +++ b/video/Kbuild @@ -0,0 +1,54 @@ +# SPDX-License-Identifier: GPL-2.0-only + +VIDEO_DRIVER_ABS_PATH := $(VIDEO_ROOT)/video/driver +VIDEO_DRIVER_REL_PATH := ../video/driver + +ifeq ($(CONFIG_ARCH_KALAMA), y) +include $(VIDEO_ROOT)/config/kalama_video.conf +LINUXINCLUDE += -include $(VIDEO_ROOT)/config/kalama_video.h \ + -I$(VIDEO_DRIVER_ABS_PATH)/platform/kalama/inc +endif + +LINUXINCLUDE += -I$(VIDEO_DRIVER_ABS_PATH)/vidc/inc \ + -I$(VIDEO_DRIVER_ABS_PATH)/platform/common/inc \ + -I$(VIDEO_DRIVER_ABS_PATH)/variant/common/inc \ + -I$(VIDEO_ROOT)/include/uapi/vidc + +USERINCLUDE += -I$(VIDEO_ROOT)/include/uapi/vidc/media \ + -I$(VIDEO_ROOT)/include/uapi/vidc + +obj-m += video.o + +ifeq ($(CONFIG_MSM_VIDC_KALAMA), y) +video-objs += $(VIDEO_DRIVER_REL_PATH)/platform/kalama/src/kalama.o +endif + +ifeq ($(CONFIG_MSM_VIDC_IRIS3), y) +LINUXINCLUDE += -I$(VIDEO_DRIVER_ABS_PATH)/variant/iris3/inc +video-objs += $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_buffer_iris3.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_power_iris3.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/iris3/src/msm_vidc_iris3.o +endif + +video-objs += $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_v4l2.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_vb2.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vdec.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_venc.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_driver.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_state.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_control.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_buffer.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_power.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_probe.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/resources.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/firmware.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_debug.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_memory.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/msm_vidc_fence.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_queue.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/hfi_packet.o \ + $(VIDEO_DRIVER_REL_PATH)/vidc/src/venus_hfi_response.o \ + $(VIDEO_DRIVER_REL_PATH)/platform/common/src/msm_vidc_platform.o \ + $(VIDEO_DRIVER_REL_PATH)/variant/common/src/msm_vidc_variant.o