diff options
author | BarbUk | 2023-07-12 10:41:26 +0200 |
---|---|---|
committer | BarbUk | 2023-07-12 10:41:26 +0200 |
commit | db3b406830eb8e03060014ce68238a74b97af55c (patch) | |
tree | 510e47a185cdebe95a74c547ae03cf7450daaf2e | |
parent | b1b1e98227db66dc073514ec862bbb3165470800 (diff) | |
download | aur-db3b406830eb8e03060014ce68238a74b97af55c.tar.gz |
Fix for kernel 6.4+
-rw-r--r-- | .SRCINFO | 3 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | update_define_semaphore_usage_for_linux_6.4.patch | 45 |
3 files changed, 53 insertions, 3 deletions
@@ -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 - @@ -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 + + /** |