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

From: Sakari Ailus

Date: Thu Sep 17 2026 - 07:59:02 EST


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@xxxxxxxxxxxxxxx
> Link: https://lore.kernel.org/linux-media/20260912185836.309071-1-manuel.knitza@xxxxxxxxxxxxxx/
> Link: https://github.com/omacom/omarchy/issues/10948
> Signed-off-by: Junjie Cao <junjie.cao@xxxxxxxxx>

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