commit ed2b50fd1498e72889897ef314f8e43c76deac0d
Author: Hans de Goede <hdegoede(a)redhat.com>
Date: Sat Nov 4 15:36:25 2023 +0100
Add "spi_vsc: Call acpi_dev_clear_dependencies()" patch to fix laptops
with iVSC chip no longer working with 6.6 kernels
...-spi-vsc-Call-acpi_dev_clear_dependencies.patch | 40 ++++++++++++++++++++++
intel-ipu6-kmod.spec | 11 +++++-
2 files changed, 50 insertions(+), 1 deletion(-)
---
diff --git a/0001-spi-vsc-Call-acpi_dev_clear_dependencies.patch
b/0001-spi-vsc-Call-acpi_dev_clear_dependencies.patch
new file mode 100644
index 0000000..ab338c7
--- /dev/null
+++ b/0001-spi-vsc-Call-acpi_dev_clear_dependencies.patch
@@ -0,0 +1,40 @@
+From 02c2eb5c3a1f25edd80f36f64b1eb8564421a762 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede(a)redhat.com>
+Date: Thu, 2 Nov 2023 13:15:17 +0100
+Subject: [PATCH] spi-vsc: Call acpi_dev_clear_dependencies()
+
+Since mainline kernel commit 7f6fd06d34f4 ("ACPI: scan: Defer enumeration
+of devices with a _DEP pointing to IVSC device") the i2c-client for
+sensors with an ACPI _DEP on the iVSC will no longer get instantiated
+until acpi_dev_clear_dependencies() is called for that _DEP.
+
+Make get_sensor_name() which already looks-up a reference to
+the correct adev call acpi_dev_clear_dependencies(). For the out of
+tree version of the iVSC drivers when acpi_dev_clear_dependencies()
+is called exactly does not matter since sensor drivers explicitly
+call vsc_acquire_camera_sensor() before probing.
+
+Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
+---
+ drivers/misc/mei/spi-vsc.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/drivers/misc/mei/spi-vsc.c b/drivers/misc/mei/spi-vsc.c
+index fb2c310..459125e 100644
+--- a/drivers/misc/mei/spi-vsc.c
++++ b/drivers/misc/mei/spi-vsc.c
+@@ -123,6 +123,11 @@ static int get_sensor_name(struct mei_device *dev)
+ *c = tolower(*c);
+
+ ACPI_FREE(buffer.pointer);
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0)
++ acpi_dev_clear_dependencies(adev);
++#endif
++
+ return 0;
+ }
+
+--
+2.41.0
+
diff --git a/intel-ipu6-kmod.spec b/intel-ipu6-kmod.spec
index f5efaa2..3dd4194 100644
--- a/intel-ipu6-kmod.spec
+++ b/intel-ipu6-kmod.spec
@@ -16,7 +16,7 @@
Name: %{prjname}-kmod
Summary: Kernel module (kmod) for %{prjname}
Version: 0.0
-Release: 9.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
+Release: 10.%{ipu6_commitdate}git%{ipu6_shortcommit}%{?dist}
License: GPLv2+
URL:
https://github.com/intel
@@ -27,6 +27,7 @@ Source1:
%{url}/ipu6-drivers/archive/%{ipu6_commit}/ipu6-drivers-%{ipu6_s
# Patches
Patch10: 0001-ipu-psys-Fix-compilation-with-kernels-6.5.0.patch
Patch11: 0001-ipu6-Fix-compilation-with-kernels-6.6.0.patch
+Patch12: 0001-spi-vsc-Call-acpi_dev_clear_dependencies.patch
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
@@ -57,6 +58,10 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname
%{prjname} %{?buil
%patch11 -p1
)
+(cd ivsc-driver-%{ivsc_commit}
+%patch12 -p1
+)
+
cp -Rp ivsc-driver-%{ivsc_commit}/backport-include ipu6-drivers-%{ipu6_commit}/
cp -Rp ivsc-driver-%{ivsc_commit}/drivers ipu6-drivers-%{ipu6_commit}/
cp -Rp ivsc-driver-%{ivsc_commit}/include ipu6-drivers-%{ipu6_commit}/
@@ -100,6 +105,10 @@ done
%changelog
+* Sat Nov 4 2023 Hans de Goede <hdegoede(a)redhat.com> - 0.0-10.20230622git8e41080
+- Add "spi_vsc: Call acpi_dev_clear_dependencies()" patch to fix laptops
+ with iVSC chip no longer working with 6.6 kernels
+
* Tue Oct 10 2023 Hans de Goede <hdegoede(a)redhat.com> - 0.0-9.20230622git8e41080
- Updated ivsc-driver to commit e8ea8b825217091fa91c9b3cb68cee4101d416e2
- This fixes the camera not working on some Dell laptops