* [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
2026-09-17 11:48 ` Sakari Ailus
0 siblings, 2 replies; 4+ 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] 4+ 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
2026-09-17 11:48 ` Sakari Ailus
1 sibling, 0 replies; 4+ 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] 4+ 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
@ 2026-09-17 11:48 ` Sakari Ailus
2026-09-18 7:01 ` Junjie Cao
1 sibling, 1 reply; 4+ messages in thread
From: Sakari Ailus @ 2026-09-17 11:48 UTC (permalink / raw)
To: Junjie Cao
Cc: Miguel Vadillo, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Manuel Knitza, Thorsten Leemhuis, Antti Laakso, Mehdi Djait,
linux-media, linux-staging, linux-kernel, regressions, stable
Hi Junjie,
Thanks for the patch.
On Sun, Sep 13, 2026 at 08:53:45PM +0800, Junjie Cao wrote:
> 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>
I agree there's a problem here with Kconfig but I don't think this is a
proper fix for it: CVS is clearly an I²C device and unrelated to IPU6 as
such. (Well, you could claim this about IVSC, too, but we don't have MEI
directory under media tree.)
I any case I think the MEDIA_HIDE_ANCILLARY_SUBDRV option should go; it
hides configuration options that should be selected for most distribution
kernels while "autoselecting" the necessary drivers appears to be helpful
while actually just selecting those that are mounted on actual devices,
e.g. PCI cards.
I'll post a patch for this.
--
Kind regards,
Sakari Ailus
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] media: i2c: cvs: Do not hide the option in the ancillary menu
2026-09-17 11:48 ` Sakari Ailus
@ 2026-09-18 7:01 ` Junjie Cao
0 siblings, 0 replies; 4+ messages in thread
From: Junjie Cao @ 2026-09-18 7:01 UTC (permalink / raw)
To: Sakari Ailus
Cc: Miguel Vadillo, Mauro Carvalho Chehab, Greg Kroah-Hartman,
Manuel Knitza, Thorsten Leemhuis, Antti Laakso, Mehdi Djait,
linux-media, linux-staging, linux-kernel, regressions, stable
On Thu, Sep 17, 2026 at 02:48:36PM +0300, Sakari Ailus wrote:
> I'll post a patch for this.
Sounds good, I'll drop this one. Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-09-18 7:02 UTC | newest]
Thread overview: 4+ 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
2026-09-17 11:48 ` Sakari Ailus
2026-09-18 7:01 ` Junjie Cao
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®