Thread (4 messages) 4 messages, 3 authors, 24d ago

[PATCH] media: i2c: cvs: Do not hide the option in the ancillary menu

flat view
COLD24d

From: Junjie Cao <hidden>
Date: 2026-09-13 12:54:00
Also in: linux-media, lkml, regressions, stable
Subsystem: intel ipu6 input system driver, intel ipu7 input system driver, media input infrastructure (v4l/dvb), staging subsystem, the rest · Maintainers: Sakari Ailus, Mauro Carvalho Chehab, Greg Kroah-Hartman, Linus Torvalds

A camera behind a CVS device needs intel_cvs bound: since commit
c28527ce5d06 ("ACPI: scan: Honor _DEP for Intel CVS devices") the
sensor is not enumerated until the driver's probe clears the _DEP, and
since commit c6b1b34b5090 ("media: pci: intel: Add CVS support for IPU
bridge driver") the IPU notifier waits for the "Intel CVS" sub-device.
The option is sourced from the "Miscellaneous helper chips" menu, which
MEDIA_HIDE_ANCILLARY_SUBDRV hides on any config with
MEDIA_SUBDRV_AUTOSELECT=y and neither EXPERT nor COMPILE_TEST, and
nothing selects or implies it, so olddefconfig on such a config does
not write the symbol out at all.

Arch Linux's config.x86_64 for 7.2.4 is one: I2C, ACPI, VIDEO_DEV=m,
IPU_BRIDGE=m, INTEL_VSC=m, VIDEO_INTEL_IPU6=m, VIDEO_INTEL_IPU7=m and
no VIDEO_INTEL_CVS line. On such a kernel a Panther Lake laptop has
either no CVS driver, so the sensor is never enumerated, or the
out-of-tree intel_cvs from intel/vision-drivers, which registers no
sub-device; the second Link shows the IPU notifier pending on
INTC10E1-0/port@1/endpoint@0 on such a kernel. Both reports had a
working camera on 7.1.

Source the Kconfig from drivers/media/pci/intel/ next to INTEL_VSC and
imply it from the IPU6 and IPU7 drivers, which are the IPUs the driver
looks for, so that a config that has them picks up intel_cvs=m on the
next olddefconfig.

Fixes: 8e2b43d2c10b ("media: i2c: cvs: Add driver of Intel Computer Vision Sensing Controller(CVS)")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/linux-media/20260912185836.309071-1-manuel.knitza@googlemail.com/ (local)
Link: https://github.com/omacom/omarchy/issues/10948
Signed-off-by: Junjie Cao <redacted>
---
Tested by running olddefconfig with Arch's config.x86_64 (7.2.4.arch1)
on current mainline: before, no VIDEO_INTEL_CVS line; after,
CONFIG_VIDEO_INTEL_CVS=m. With EXPERT=y alone the option only becomes
"is not set". Not booted on CVS hardware.

For stable: a 7.2.y distro config with IPU6/IPU7 gains intel_cvs=m on
its next olddefconfig; that is the intent. Sourcing from pci/intel/
puts the option under MEDIA_PCI_SUPPORT like IPU_BRIDGE and INTEL_VSC,
which a CVS system needs anyway.

 drivers/media/i2c/Kconfig            | 1 -
 drivers/media/pci/intel/Kconfig      | 1 +
 drivers/media/pci/intel/ipu6/Kconfig | 1 +
 drivers/staging/media/ipu7/Kconfig   | 1 +
 4 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/media/i2c/Kconfig b/drivers/media/i2c/Kconfig
index 5c52007f9cbeb..8573f27b907d9 100644
--- a/drivers/media/i2c/Kconfig
+++ b/drivers/media/i2c/Kconfig
@@ -1680,7 +1680,6 @@ endmenu
 menu "Miscellaneous helper chips"
 	visible if !MEDIA_HIDE_ANCILLARY_SUBDRV
 
-source "drivers/media/i2c/cvs/Kconfig"
 
 config VIDEO_I2C
 	tristate "I2C transport video support"
diff --git a/drivers/media/pci/intel/Kconfig b/drivers/media/pci/intel/Kconfig
index 3f14ca110d06c..dd8c990a0c294 100644
--- a/drivers/media/pci/intel/Kconfig
+++ b/drivers/media/pci/intel/Kconfig
@@ -3,6 +3,7 @@
 source "drivers/media/pci/intel/ipu3/Kconfig"
 source "drivers/media/pci/intel/ipu6/Kconfig"
 source "drivers/media/pci/intel/ivsc/Kconfig"
+source "drivers/media/i2c/cvs/Kconfig"
 
 config IPU_BRIDGE
 	tristate "Intel IPU Bridge"
diff --git a/drivers/media/pci/intel/ipu6/Kconfig b/drivers/media/pci/intel/ipu6/Kconfig
index 1129e2beb4bec..54bd264f7ccd4 100644
--- a/drivers/media/pci/intel/ipu6/Kconfig
+++ b/drivers/media/pci/intel/ipu6/Kconfig
@@ -10,6 +10,7 @@ config VIDEO_INTEL_IPU6
 	select MEDIA_CONTROLLER
 	select VIDEOBUF2_DMA_SG
 	select V4L2_FWNODE
+	imply VIDEO_INTEL_CVS
 	help
 	  This is the 6th Gen Intel Image Processing Unit, found in Intel SoCs
 	  and used for capturing images and video from camera sensors.
diff --git a/drivers/staging/media/ipu7/Kconfig b/drivers/staging/media/ipu7/Kconfig
index 7d831ba7501d4..c23a7844e15e2 100644
--- a/drivers/staging/media/ipu7/Kconfig
+++ b/drivers/staging/media/ipu7/Kconfig
@@ -11,6 +11,7 @@ config VIDEO_INTEL_IPU7
 	select MEDIA_CONTROLLER
 	select VIDEOBUF2_DMA_SG
 	select V4L2_FWNODE
+	imply VIDEO_INTEL_CVS
 	help
 	  This is the 7th Gen Intel Image Processing Unit, found in Intel SoCs
 	  and used for capturing images and video from camera sensors.
-- 
2.43.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help