Stop the DKMS Intel CVS driver from claiming the amplifiers' speaker-ID GPIO

The in-tree 7.2 CVS driver we ship as the intel-cvs DKMS module requests its
"wake" line with devm_gpiod_get(). On the Dell XPS 14 DA14260 that pin
(\_SB.GPI1 20) is the shared GpioIo the four CS35L57 amplifiers read their
speaker ID from, so with this package installed every cs35l56 probe fails with
"error -EBUSY: Failed to get spk-id-gpios" and the machine has no sound card.

Carry Junjie Cao's upstream fix, "media: i2c: cvs: Get the wake IRQ without
claiming the GPIO" (Cc: stable, Fixes: 8e2b43d2c10b), applied to the
downloaded intel-cvs-core.c in prepare(). makepkg symlinks plain downloads
into srcdir and patch refuses symlinks, so the file is copied first. Drop the
patch once the stable tag we fetch from contains the fix.

Link: https://github.com/thesofproject/sof/issues/11152
Link: https://bugzilla.redhat.com/show_bug.cgi?id=2529031
This commit is contained in:
Spencer Bull committed 2026-09-12 19:25:52 -05:00
1 parent 5501e168f7
commit 21c0630334
4 files changed
+110 -8

No files matched your search

@@ -1,10 +1,11 @@
# Intel CVS (Computer Vision Sensing) CSI-2 bridge driver.
#
# Verbatim copy of the in-tree Linux 7.2 driver (drivers/media/i2c/cvs),
# built out of tree so it exists on every 7.2+ kernel regardless of the
# kernel's Kconfig. Arch-derived configs cannot enable VIDEO_INTEL_CVS at
# all: it lives under the "Miscellaneous helper chips" menu, which is
# hidden by MEDIA_HIDE_ANCILLARY_SUBDRV unless CONFIG_EXPERT is set.
# Copy of the in-tree Linux 7.2 driver (drivers/media/i2c/cvs) plus the
# upstream wake-IRQ fix carried by the PKGBUILD, built out of tree so it
# exists on every 7.2+ kernel regardless of the kernel's Kconfig.
# Arch-derived configs cannot enable VIDEO_INTEL_CVS at all: it lives under
# the "Miscellaneous helper chips" menu, which is hidden by
# MEDIA_HIDE_ANCILLARY_SUBDRV unless CONFIG_EXPERT is set.
#
# 7.2's ipu-bridge inserts the CVS device between the sensor and the IPU
# CSI2 receiver, so the IPU only sees the sensor once a driver registers