commit 2c1245e20ca8798649f3a36a85e7b44fe44088b1
Author: Kate Hsuan <hpa(a)redhat.com>
Date: Fri Apr 19 15:37:30 2024 +0800
evert "Update ivsc to commit a6dccbb"
This reverts commit 53545f8d30ede021147ba6083ce5c910ecf27cf4.
.gitignore | 1 -
intel-ipu6-kmod.spec | 13 +++---
sources | 2 +-
vsc-44.patch | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 132 insertions(+), 8 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index a5e3def..38e131b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,4 +7,3 @@
/ivsc-driver-e8ea8b8.tar.gz
/ipu6-drivers-fb4c170.tar.gz
/ivsc-driver-73a044d.tar.gz
-/ivsc-driver-a6dccbb.tar.gz
diff --git a/intel-ipu6-kmod.spec b/intel-ipu6-kmod.spec
index b3651ea..ece4bee 100644
--- a/intel-ipu6-kmod.spec
+++ b/intel-ipu6-kmod.spec
@@ -7,8 +7,8 @@
%global ipu6_commitdate 20240226
%global ipu6_shortcommit %(c=%{ipu6_commit}; echo ${c:0:7})
-%global ivsc_commit a6dccbbf5a955489d20d996234b6ebb481183ed7
-%global ivsc_commitdate 20240416
+%global ivsc_commit 73a044d9633212fac54ea96cdd882ff5ab40573e
+%global ivsc_commitdate 20231109
%global ivsc_shortcommit %(c=%{ivsc_commit}; echo ${c:0:7})
%global prjname intel-ipu6
@@ -34,6 +34,8 @@ Patch13: 4.patch
Patch14: 5.patch
Patch15: 6.patch
Patch16: 0001-Skip-ljca-modules-for-the-kernel-6.7.patch
+#
https://github.com/intel/ivsc-driver/pull/44
+Patch17: vsc-44.patch
BuildRequires: gcc
BuildRequires: elfutils-libelf-devel
@@ -69,6 +71,9 @@ kmodtool --target %{_target_cpu} --repo rpmfusion --kmodname %{prjname}
%{?buil
%patch 16 -p1
)
+(cd ivsc-driver-%{ivsc_commit}
+%patch 17 -p1
+)
cp -Rp ivsc-driver-%{ivsc_commit}/backport-include ipu6-drivers-%{ipu6_commit}/
cp -Rp ivsc-driver-%{ivsc_commit}/drivers ipu6-drivers-%{ipu6_commit}/
@@ -104,10 +109,6 @@ done
%changelog
-* Fri Apr 19 2024 Kate Hsuan <hpa(a)redhat.cpm> - 0.0-13.20240226gitfb4c170
-- Update ivsc to commit a6dccbbf5a955489d20d996234b6ebb481183ed7
-- ivsc: Update mei_dev.h for kernel >= 6.8
-
* Thu Mar 07 2024 Kate Hsuan <hpa(a)redhat.com> - 0.0-12.20240226gitfb4c170
- Fix for kernel >= 6.7
- Fix and improve ipu6_isys probe()
diff --git a/sources b/sources
index ccd6367..333b367 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
SHA512 (ipu6-drivers-fb4c170.tar.gz) =
1722fb07428844303f5b8f6694691f19db90651119db5cd90e665019101c3b6c46e82232a9bf87abaf2c982ce01bf7a672d584b03eab5c9810bf74840e02f055
-SHA512 (ivsc-driver-a6dccbb.tar.gz) =
10e0c4c24d9f7e3ffb99aa36808663fec3b6a020b22c1625da2548c5939ee0ae532a0f7e48ed5701b67233bb430e0dce65ea64870b253d83ba586ff427d35551
+SHA512 (ivsc-driver-73a044d.tar.gz) =
b43b51fb7a08fc619333796eb76098173da1919ba0f008d46900269b01e076baa203c714abbb677825d1070905f1cca0a124a02dedc023e9ac2ecf72b62cdf71
diff --git a/vsc-44.patch b/vsc-44.patch
new file mode 100644
index 0000000..79d7591
--- /dev/null
+++ b/vsc-44.patch
@@ -0,0 +1,124 @@
+From 368285d0401703c2243b2c122e2d80c49cb2ae83 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede(a)redhat.com>
+Date: Tue, 5 Mar 2024 21:44:24 +0100
+Subject: [PATCH 1/2] ljca: s/strlcpy/strcpy/
+
+kernels >= 6.8 no longer have strlcpy use strscpy instead,
+strscpy has been available since at least kernel 4.8 .
+
+Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
+---
+ drivers/mfd/ljca.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/mfd/ljca.c b/drivers/mfd/ljca.c
+index 9a416d3..ec03417 100644
+--- a/drivers/mfd/ljca.c
++++ b/drivers/mfd/ljca.c
+@@ -221,7 +221,7 @@ static int try_match_acpi_hid(struct acpi_device *child, char **hids,
int hids_n
+ int i;
+
+ for (i = 0; i < hids_num; i++) {
+- strlcpy(ids[0].id, hids[i], sizeof(ids[0].id));
++ strscpy(ids[0].id, hids[i], sizeof(ids[0].id));
+ if (!acpi_match_device_ids(child, ids))
+ return i;
+ }
+
+From 0e1aa89783c7c17dcf8dbe184a286eb787f783d0 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede(a)redhat.com>
+Date: Tue, 5 Mar 2024 21:46:20 +0100
+Subject: [PATCH 2/2] ljca: Fix 6.8 compiler warnings
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+1. Fix compiler warnings from the newly enabled (in 6.8) -Wmissing-prototypes
+warning option.
+
+2. Fix following warning caused by changes in struct spi_device:
+drivers/spi/spi-ljca.c:216:39: warning: format ‘%d’ expects argument of type ‘int’, but
argument 4 has type ‘u8 *’ {aka ‘unsigned char *’} [-Wformat=]
+ 216 | dev_dbg(&ljca_spi->pdev->dev, "cs %d\n",
spi->chip_select);
+Rather then adding a ifdef on the kernel version for this just
+drop the dev_dbg().
+
+Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
+---
+ drivers/gpio/gpio-ljca.c | 4 ++--
+ drivers/mfd/ljca.c | 2 +-
+ drivers/misc/ivsc/mei_ace.c | 6 +++---
+ drivers/spi/spi-ljca.c | 4 ----
+ 4 files changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/drivers/gpio/gpio-ljca.c b/drivers/gpio/gpio-ljca.c
+index 0041d26..bea39b6 100644
+--- a/drivers/gpio/gpio-ljca.c
++++ b/drivers/gpio/gpio-ljca.c
+@@ -253,8 +253,8 @@ static void ljca_gpio_async(struct work_struct *work)
+ }
+ }
+
+-void ljca_gpio_event_cb(struct platform_device *pdev, u8 cmd,
+- const void *evt_data, int len)
++static void ljca_gpio_event_cb(struct platform_device *pdev, u8 cmd,
++ const void *evt_data, int len)
+ {
+ const struct gpio_packet *packet = evt_data;
+ struct ljca_gpio_dev *ljca_gpio = platform_get_drvdata(pdev);
+diff --git a/drivers/mfd/ljca.c b/drivers/mfd/ljca.c
+index ec03417..2de6faa 100644
+--- a/drivers/mfd/ljca.c
++++ b/drivers/mfd/ljca.c
+@@ -320,7 +320,7 @@ static bool ljca_validate(void *data, u32 data_len)
+ return (header->len + sizeof(*header) == data_len);
+ }
+
+-void ljca_dump(struct ljca_dev *ljca, void *buf, int len)
++static void ljca_dump(struct ljca_dev *ljca, void *buf, int len)
+ {
+ int i;
+ u8 tmp[256] = { 0 };
+diff --git a/drivers/misc/ivsc/mei_ace.c b/drivers/misc/ivsc/mei_ace.c
+index 025fd7d..415a8e4 100644
+--- a/drivers/misc/ivsc/mei_ace.c
++++ b/drivers/misc/ivsc/mei_ace.c
+@@ -311,21 +311,21 @@ static int set_camera_ownership(struct mei_ace *ace,
+ return ret;
+ }
+
+-int ipu_own_camera(void *ace, struct camera_status *status)
++static int ipu_own_camera(void *ace, struct camera_status *status)
+ {
+ struct mei_ace *p_ace = (struct mei_ace *)ace;
+
+ return set_camera_ownership(p_ace, IPU_OWN_CAMERA, status);
+ }
+
+-int ace_own_camera(void *ace, struct camera_status *status)
++static int ace_own_camera(void *ace, struct camera_status *status)
+ {
+ struct mei_ace *p_ace = (struct mei_ace *)ace;
+
+ return set_camera_ownership(p_ace, ACE_OWN_CAMERA, status);
+ }
+
+-int get_camera_status(void *ace, struct camera_status *status)
++static int get_camera_status(void *ace, struct camera_status *status)
+ {
+ int ret;
+ struct ace_cmd cmd;
+diff --git a/drivers/spi/spi-ljca.c b/drivers/spi/spi-ljca.c
+index adcd00f..f11556d 100644
+--- a/drivers/spi/spi-ljca.c
++++ b/drivers/spi/spi-ljca.c
+@@ -210,10 +210,6 @@ static int ljca_spi_transfer(struct ljca_spi_dev *ljca_spi, const u8
*tx_data,
+ static int ljca_spi_prepare_message(struct spi_master *master,
+ struct spi_message *message)
+ {
+- struct ljca_spi_dev *ljca_spi = spi_master_get_devdata(master);
+- struct spi_device *spi = message->spi;
+-
+- dev_dbg(&ljca_spi->pdev->dev, "cs %d\n", spi->chip_select);
+ return 0;
+ }
+