kernel: Split kmod-video-dma into two kmods

Split the kmod-video-dma into kmod-video-dma-sg and
kmod-video-dma-contig. The old one contained two kmods, but sometimes
only one of them is build which caused problems. The configuration
options are not manually selectable in the kernel and hidden in OpenWrt.

Currently this causes build failures on some targets.

Fixes: 4d7cbe0a55 ("kernel: video-dma: explicitly state packaged modules")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Hauke Mehrtens 2024-06-01 12:46:49 +02:00
parent 37ff0ea726
commit 8647ce0800
2 changed files with 30 additions and 16 deletions

View File

@ -1173,30 +1173,44 @@ endef
$(eval $(call KernelPackage,video-mem2mem)) $(eval $(call KernelPackage,video-mem2mem))
define KernelPackage/video-dma define KernelPackage/video-dma-contig
SUBMENU:=$(VIDEO_MENU) SUBMENU:=$(VIDEO_MENU)
TITLE:=Video DMA support TITLE:=Video DMA support
HIDDEN:=1 HIDDEN:=1
DEPENDS:=+kmod-video-videobuf2 DEPENDS:=+kmod-video-videobuf2
KCONFIG:= \ KCONFIG:=CONFIG_VIDEOBUF2_DMA_CONTIG
CONFIG_VIDEOBUF2_DMA_CONTIG \ FILES:=$(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-dma-contig.ko
CONFIG_VIDEOBUF2_DMA_SG AUTOLOAD:=$(call AutoLoad,66,videobuf2-dma-contig)
FILES:= \
$(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-dma-contig.ko \
$(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-dma-sg.ko
AUTOLOAD:=$(call AutoLoad,66,videobuf2-dma-contig videobuf2-dma-sg)
$(call AddDepends/video) $(call AddDepends/video)
endef endef
define KernelPackage/video-dma/description define KernelPackage/video-dma-contig/description
Video DMA support Video DMA support Contig
endef endef
$(eval $(call KernelPackage,video-dma))
$(eval $(call KernelPackage,video-dma-contig))
define KernelPackage/video-dma-sg
SUBMENU:=$(VIDEO_MENU)
TITLE:=Video DMA support
HIDDEN:=1
DEPENDS:=+kmod-video-videobuf2
KCONFIG:=CONFIG_VIDEOBUF2_DMA_SG
FILES:=$(LINUX_DIR)/drivers/media/common/videobuf2/videobuf2-dma-sg.ko
AUTOLOAD:=$(call AutoLoad,66,videobuf2-dma-sg)
$(call AddDepends/video)
endef
define KernelPackage/video-dma-sg/description
Video DMA support SG
endef
$(eval $(call KernelPackage,video-dma-sg))
define KernelPackage/video-coda define KernelPackage/video-coda
TITLE:=i.MX VPU support TITLE:=i.MX VPU support
DEPENDS:=@(TARGET_imx&&TARGET_imx_cortexa9) +kmod-video-mem2mem +kmod-video-dma DEPENDS:=@(TARGET_imx&&TARGET_imx_cortexa9) +kmod-video-mem2mem +kmod-video-dma-contig
KCONFIG:= \ KCONFIG:= \
CONFIG_VIDEO_CODA \ CONFIG_VIDEO_CODA \
CONFIG_VIDEO_IMX_VDOA CONFIG_VIDEO_IMX_VDOA
@ -1218,7 +1232,7 @@ $(eval $(call KernelPackage,video-coda))
define KernelPackage/video-pxp define KernelPackage/video-pxp
TITLE:=i.MX PXP support TITLE:=i.MX PXP support
DEPENDS:=@TARGET_imx +kmod-video-mem2mem +kmod-video-dma DEPENDS:=@TARGET_imx +kmod-video-mem2mem +kmod-video-dma-contig
KCONFIG:= CONFIG_VIDEO_IMX_PXP KCONFIG:= CONFIG_VIDEO_IMX_PXP
FILES:= $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/imx-pxp.ko@lt6.1 \ FILES:= $(LINUX_DIR)/drivers/media/$(V4L2_MEM2MEM_DIR)/imx-pxp.ko@lt6.1 \
$(LINUX_DIR)/drivers/media/platform/nxp/imx-pxp.ko@ge6.1 $(LINUX_DIR)/drivers/media/platform/nxp/imx-pxp.ko@ge6.1
@ -1236,7 +1250,7 @@ $(eval $(call KernelPackage,video-pxp))
define KernelPackage/video-tw686x define KernelPackage/video-tw686x
TITLE:=TW686x support TITLE:=TW686x support
DEPENDS:=@PCIE_SUPPORT +kmod-video-dma +kmod-sound-core DEPENDS:=@PCIE_SUPPORT +kmod-video-dma-contig +kmod-video-dma-sg +kmod-sound-core
KCONFIG:= CONFIG_VIDEO_TW686X KCONFIG:= CONFIG_VIDEO_TW686X
FILES:= $(LINUX_DIR)/drivers/media/pci/tw686x/tw686x.ko FILES:= $(LINUX_DIR)/drivers/media/pci/tw686x/tw686x.ko
AUTOLOAD:=$(call AutoProbe,tw686x) AUTOLOAD:=$(call AutoProbe,tw686x)

View File

@ -27,7 +27,7 @@ define KernelPackage/codec-bcm2835
FILES:= \ FILES:= \
$(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-codec/bcm2835-codec.ko $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-codec/bcm2835-codec.ko
AUTOLOAD:=$(call AutoLoad,67,bcm2835-codec) AUTOLOAD:=$(call AutoLoad,67,bcm2835-codec)
$(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma +kmod-video-mem2mem) $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma-contig +kmod-video-mem2mem)
endef endef
define KernelPackage/codec-bcm2835/description define KernelPackage/codec-bcm2835/description
@ -72,7 +72,7 @@ define KernelPackage/isp-bcm2835
FILES:= \ FILES:= \
$(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp.ko $(LINUX_DIR)/drivers/staging/vc04_services/bcm2835-isp/bcm2835-isp.ko
AUTOLOAD:=$(call AutoLoad,67,bcm2835-isp) AUTOLOAD:=$(call AutoLoad,67,bcm2835-isp)
$(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma) $(call AddDepends/video,@TARGET_bcm27xx +kmod-vchiq-mmal-bcm2835 +kmod-video-dma-contig)
endef endef
define KernelPackage/isp-bcm2835/description define KernelPackage/isp-bcm2835/description