mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] media: i2c: cvs: Do not hide the option in the ancillary menu
@ 2026-09-13 12:53 Junjie Cao
  2026-09-14  9:59 ` Manuel Knitza
  0 siblings, 1 reply; 2+ messages in thread
From: Junjie Cao @ 2026-09-13 12:53 UTC (permalink / raw)
  To: Miguel Vadillo, Sakari Ailus, Mauro Carvalho Chehab
  Cc: Greg Kroah-Hartman, Manuel Knitza, Thorsten Leemhuis,
	Antti Laakso, Mehdi Djait, linux-media, linux-staging,
	linux-kernel, regressions, stable

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/
Link: https://github.com/omacom/omarchy/issues/10948
Signed-off-by: Junjie Cao <junjie.cao@intel.com>
---
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


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] media: i2c: cvs: Do not hide the option in the ancillary menu
  2026-09-13 12:53 [PATCH] media: i2c: cvs: Do not hide the option in the ancillary menu Junjie Cao
@ 2026-09-14  9:59 ` Manuel Knitza
  0 siblings, 0 replies; 2+ messages in thread
From: Manuel Knitza @ 2026-09-14  9:59 UTC (permalink / raw)
  To: junjie.cao, miguel.vadillo, sakari.ailus, mchehab
  Cc: gregkh, regressions, antti.laakso, mehdi.djait, linux-media,
	linux-staging, linux-kernel, regressions, stable, Manuel Knitza

Tested-by: Manuel Knitza <manuel.knitza@googlemail.com>

Confirmed on linux-ptl, as you asked. Config-only test, same scope as
yours - not booted with a kernel built this way.

Starting config: linux-ptl 7.2.3-arch1-1, the Panther Lake kernel Omarchy
ships, taken from /lib/modules/.../build/.config. It has
CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y, no CONFIG_EXPERT, and no
VIDEO_INTEL_CVS line at all.

Run on a vanilla v7.2.4 tree. linux-ptl does not touch the files involved:
drivers/media/{i2c,pci/intel,pci/intel/ipu6}/Kconfig,
drivers/staging/media/ipu7/Kconfig and drivers/media/i2c/cvs/Kconfig are
byte-identical to vanilla, as is every other Kconfig under drivers/media.

  before: make olddefconfig -> no VIDEO_INTEL_CVS line
  after:  make olddefconfig -> CONFIG_VIDEO_INTEL_CVS=m

Diffing the two generated configs shows exactly one changed line, the
added CONFIG_VIDEO_INTEL_CVS=m. Nothing else moves.

Worth noting for the stable case you mention: this is a distro kernel that
already carries IPU_BRIDGE=m and VIDEO_INTEL_IPU7=m, so it is precisely
the configuration whose bridge routes to a driver it cannot currently
build.

Assisted-by: Claude Code:claude-opus-5

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-09-14 10:00 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-13 12:53 [PATCH] media: i2c: cvs: Do not hide the option in the ancillary menu Junjie Cao
2026-09-14  9:59 ` Manuel Knitza

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®