diff --git a/Makefile b/Makefile index ee53758..66a46ee 100644 --- a/Makefile +++ b/Makefile @@ -8,21 +8,33 @@ MODSRC := $(shell pwd) export EXTERNAL_BUILD = 1 export CONFIG_VIDEO_INTEL_IPU7 = m export CONFIG_IPU_BRIDGE = y -export CONFIG_INTEL_IPU_ACPI = m +# Default: only build IPU7 drivers (no ACPI) obj-y += drivers/media/pci/intel/ipu7/ + +# For ACPI build: add platform drivers +ifdef BUILD_INTEL_IPU_ACPI +export CONFIG_INTEL_IPU_ACPI = m obj-y += drivers/media/platform/intel/ +subdir-ccflags-$(CONFIG_INTEL_IPU_ACPI) += \ + -DCONFIG_INTEL_IPU_ACPI +endif + subdir-ccflags-y += -I$(src)/include subdir-ccflags-$(CONFIG_IPU_BRIDGE) += \ -DCONFIG_IPU_BRIDGE -subdir-ccflags-$(CONFIG_INTEL_IPU_ACPI) += \ - -DCONFIG_INTEL_IPU_ACPI + subdir-ccflags-y += $(subdir-ccflags-m) all: $(MAKE) -C $(KERNEL_SRC) M=$(MODSRC) modules + +all-acpi: + $(MAKE) BUILD_INTEL_IPU_ACPI=1 -C $(KERNEL_SRC) M=$(MODSRC) modules + modules_install: $(MAKE) INSTALL_MOD_DIR=updates -C $(KERNEL_SRC) M=$(MODSRC) modules_install + clean: $(MAKE) -C $(KERNEL_SRC) M=$(MODSRC) clean diff --git a/dkms.conf b/dkms.conf index c18a5e4..33c3277 100644 --- a/dkms.conf +++ b/dkms.conf @@ -1,7 +1,12 @@ PACKAGE_NAME=ipu7-drivers PACKAGE_VERSION=0.0.0 -MAKE="make KERNELRELEASE=$kernelver KERNEL_SRC=$kernel_source_dir" +# Use BUILD_INTEL_IPU_ACPI environment variable to control ACPI module build +if [ -n "$BUILD_INTEL_IPU_ACPI" ]; then + MAKE="make BUILD_INTEL_IPU_ACPI=1 all-acpi KERNELRELEASE=$kernelver KERNEL_SRC=$kernel_source_dir" +else + MAKE="make KERNELRELEASE=$kernelver KERNEL_SRC=$kernel_source_dir" +fi CLEAN="make KERNELRELEASE=$kernelver KERNEL_SRC=$kernel_source_dir clean" AUTOINSTALL="yes" @@ -31,28 +36,40 @@ version_lt() { KERNEL_VERSION=$(echo ${kernelver} | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') KV_IPU7_ISYS=6.17.0 -BUILT_MODULE_NAME[0]="ipu-acpi" -BUILT_MODULE_LOCATION[0]="drivers/media/platform/intel" -DEST_MODULE_LOCATION[0]="/updates" +MODULE_INDEX=0 -BUILT_MODULE_NAME[1]="ipu-acpi-pdata" -BUILT_MODULE_LOCATION[1]="drivers/media/platform/intel" -DEST_MODULE_LOCATION[1]="/updates" +# Default modules: intel-ipu7 family +if version_lt ${KERNEL_VERSION} ${KV_IPU7_ISYS}; then + BUILT_MODULE_NAME[$MODULE_INDEX]="intel-ipu7" + BUILT_MODULE_LOCATION[$MODULE_INDEX]="drivers/media/pci/intel/ipu7" + DEST_MODULE_LOCATION[$MODULE_INDEX]="/updates" + MODULE_INDEX=$((MODULE_INDEX + 1)) -BUILT_MODULE_NAME[2]="ipu-acpi-common" -BUILT_MODULE_LOCATION[2]="drivers/media/platform/intel" -DEST_MODULE_LOCATION[2]="/updates" + BUILT_MODULE_NAME[$MODULE_INDEX]="intel-ipu7-isys" + BUILT_MODULE_LOCATION[$MODULE_INDEX]="drivers/media/pci/intel/ipu7" + DEST_MODULE_LOCATION[$MODULE_INDEX]="/updates" + MODULE_INDEX=$((MODULE_INDEX + 1)) +fi -BUILT_MODULE_NAME[3]="intel-ipu7-psys" -BUILT_MODULE_LOCATION[3]="drivers/media/pci/intel/ipu7/psys" -DEST_MODULE_LOCATION[3]="/updates" +BUILT_MODULE_NAME[$MODULE_INDEX]="intel-ipu7-psys" +BUILT_MODULE_LOCATION[$MODULE_INDEX]="drivers/media/pci/intel/ipu7/psys" +DEST_MODULE_LOCATION[$MODULE_INDEX]="/updates" +MODULE_INDEX=$((MODULE_INDEX + 1)) -if version_lt ${KERNEL_VERSION} ${KV_IPU7_ISYS}; then - BUILT_MODULE_NAME[4]="intel-ipu7" - BUILT_MODULE_LOCATION[4]="drivers/media/pci/intel/ipu7" - DEST_MODULE_LOCATION[4]="/updates" +# Additional ACPI modules if BUILD_INTEL_IPU_ACPI is set +if [ -n "$BUILD_INTEL_IPU_ACPI" ]; then + BUILT_MODULE_NAME[$MODULE_INDEX]="ipu-acpi" + BUILT_MODULE_LOCATION[$MODULE_INDEX]="drivers/media/platform/intel" + DEST_MODULE_LOCATION[$MODULE_INDEX]="/updates" + MODULE_INDEX=$((MODULE_INDEX + 1)) + + BUILT_MODULE_NAME[$MODULE_INDEX]="ipu-acpi-pdata" + BUILT_MODULE_LOCATION[$MODULE_INDEX]="drivers/media/platform/intel" + DEST_MODULE_LOCATION[$MODULE_INDEX]="/updates" + MODULE_INDEX=$((MODULE_INDEX + 1)) - BUILT_MODULE_NAME[5]="intel-ipu7-isys" - BUILT_MODULE_LOCATION[5]="drivers/media/pci/intel/ipu7" - DEST_MODULE_LOCATION[5]="/updates" + BUILT_MODULE_NAME[$MODULE_INDEX]="ipu-acpi-common" + BUILT_MODULE_LOCATION[$MODULE_INDEX]="drivers/media/platform/intel" + DEST_MODULE_LOCATION[$MODULE_INDEX]="/updates" + MODULE_INDEX=$((MODULE_INDEX + 1)) fi