ch9344: support Linux 6.16

This commit is contained in:
ZHANG Yuntian 2025-07-30 15:41:52 +08:00
parent bd9bab5c26
commit 6c1809192c
No known key found for this signature in database
2 changed files with 17 additions and 0 deletions

View File

@ -19,6 +19,7 @@ stdenv.mkDerivation rec {
patches = [
./fix-linux-6-12-build.patch
./fix-linux-6-15-build.patch
./fix-linux-6-16-build.patch
];
sourceRoot = "${src.name}/driver";

View File

@ -0,0 +1,16 @@
diff --git a/ch9344.c b/ch9344.c
index 36402c0..9f0df54 100644
--- a/ch9344.c
+++ b/ch9344.c
@@ -929,7 +929,11 @@ static void timer_function(unsigned long arg)
static void timer_function(struct timer_list *t)
{
unsigned char *buffer;
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 16, 0))
+ struct ch9344_ttyport *ttyport = timer_container_of(ttyport, t, timer);
+#else
struct ch9344_ttyport *ttyport = from_timer(ttyport, t, timer);
+#endif
int fifolen = kfifo_len(&ttyport->rfifo);
int len;