summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorBarbUk2023-07-12 10:41:26 +0200
committerBarbUk2023-07-12 10:41:26 +0200
commitdb3b406830eb8e03060014ce68238a74b97af55c (patch)
tree510e47a185cdebe95a74c547ae03cf7450daaf2e
parentb1b1e98227db66dc073514ec862bbb3165470800 (diff)
downloadaur-db3b406830eb8e03060014ce68238a74b97af55c.tar.gz
Fix for kernel 6.4+
-rw-r--r--.SRCINFO3
-rw-r--r--PKGBUILD8
-rw-r--r--update_define_semaphore_usage_for_linux_6.4.patch45
3 files changed, 53 insertions, 3 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 462c8b6049b9..20c6a07ec7fc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -12,9 +12,10 @@ pkgbase = tp_smapi-dkms
source = https://github.com/linux-thinkpad/tp_smapi/releases/download/tp-smapi%2F0.43/tp_smapi-0.43.tgz
source = dkms.conf
source = kbase.patch
+ source = update_define_semaphore_usage_for_linux_6.4.patch
sha256sums = bcef9cd045d52a74d719b2a67ac4f5324994a856f123c0fbc55f1d769d367110
sha256sums = 43aa280c078fc5ba0ee229b9c71238e215313315711f3d3caae7b9bd0ab24dbe
sha256sums = 4bcce516a9f3c486a934cfe6e3d3c92443833f4094ec008ce25264d1a5b66097
+ sha256sums = 24db4ff35d20c488582178ab2aa4d7d96c6125eaff95588be7e900a069df3ca9
pkgname = tp_smapi-dkms
-
diff --git a/PKGBUILD b/PKGBUILD
index 4cc4bf44f2c3..6d720ed44b14 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -11,15 +11,19 @@ provides=("tp_smapi=${pkgver}")
options=(!strip)
source=("https://github.com/linux-thinkpad/tp_smapi/releases/download/tp-smapi%2F${pkgver}/tp_smapi-${pkgver}.tgz"
'dkms.conf'
- 'kbase.patch')
+ 'kbase.patch'
+ 'update_define_semaphore_usage_for_linux_6.4.patch')
sha256sums=('bcef9cd045d52a74d719b2a67ac4f5324994a856f123c0fbc55f1d769d367110'
'43aa280c078fc5ba0ee229b9c71238e215313315711f3d3caae7b9bd0ab24dbe'
- '4bcce516a9f3c486a934cfe6e3d3c92443833f4094ec008ce25264d1a5b66097')
+ '4bcce516a9f3c486a934cfe6e3d3c92443833f4094ec008ce25264d1a5b66097'
+ '24db4ff35d20c488582178ab2aa4d7d96c6125eaff95588be7e900a069df3ca9')
prepare() {
cd tp_smapi-${pkgver}
# patch Makefile for recent kernel module directory change
patch -p2 < "${srcdir}"/kbase.patch
+ # Patch for recent kernel
+ patch -p2 < "${srcdir}"/update_define_semaphore_usage_for_linux_6.4.patch
msg2 "Patching dkms.conf"
sed -ri 's/^(PACKAGE_VERSION=).*/\1'${pkgver}'/g' "${srcdir}"/dkms.conf
}
diff --git a/update_define_semaphore_usage_for_linux_6.4.patch b/update_define_semaphore_usage_for_linux_6.4.patch
new file mode 100644
index 000000000000..4ff1facca07f
--- /dev/null
+++ b/update_define_semaphore_usage_for_linux_6.4.patch
@@ -0,0 +1,45 @@
+From 0c3398b1acf2a2cabd9cee91dc3fe3d35805fa8b Mon Sep 17 00:00:00 2001
+From: Evgeni Golov <evgeni@golov.de>
+Date: Fri, 16 Jun 2023 18:13:54 +0200
+Subject: [PATCH] update DEFINE_SEMAPHORE usage for linux 6.4+
+
+Linux changed the DEFINE_SEMAPHORE macro in
+48380368dec14859723b9e3fbd43e042638d9a76, making it take two parameters
+instead of one. Pass an explicit 1 as on 6.4+.
+---
+ thinkpad_ec.c | 4 +++-
+ tp_smapi.c | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/thinkpad_ec.c b/thinkpad_ec.c
+index a8e812f..62ef5ca 100644
+--- a/thinkpad_ec.c
++++ b/thinkpad_ec.c
+@@ -90,8 +90,10 @@ static u64 prefetch_jiffies; /* time of prefetch, or: */
+ /* Locking: */
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37)
+ static DECLARE_MUTEX(thinkpad_ec_mutex);
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(6,4,0)
+ static DEFINE_SEMAPHORE(thinkpad_ec_mutex);
++#else
++static DEFINE_SEMAPHORE(thinkpad_ec_mutex, 1);
+ #endif
+
+ /* Kludge in case the ACPI DSDT reserves the ports we need. */
+diff --git a/tp_smapi.c b/tp_smapi.c
+index 6346287..9feebab 100644
+--- a/tp_smapi.c
++++ b/tp_smapi.c
+@@ -111,8 +111,10 @@ static unsigned short smapi_port; /* APM control port, normally 0xB2 */
+
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37)
+ static DECLARE_MUTEX(smapi_mutex);
+-#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(6,4,0)
+ static DEFINE_SEMAPHORE(smapi_mutex);
++#else
++static DEFINE_SEMAPHORE(smapi_mutex, 1);
+ #endif
+
+ /**