ch9344: support Linux 6.16

+17
+1
pkgs/os-specific/linux/ch9344/default.nix
··· 19 patches = [ 20 ./fix-linux-6-12-build.patch 21 ./fix-linux-6-15-build.patch 22 ]; 23 24 sourceRoot = "${src.name}/driver";
··· 19 patches = [ 20 ./fix-linux-6-12-build.patch 21 ./fix-linux-6-15-build.patch 22 + ./fix-linux-6-16-build.patch 23 ]; 24 25 sourceRoot = "${src.name}/driver";
+16
pkgs/os-specific/linux/ch9344/fix-linux-6-16-build.patch
···
··· 1 + diff --git a/ch9344.c b/ch9344.c 2 + index 36402c0..9f0df54 100644 3 + --- a/ch9344.c 4 + +++ b/ch9344.c 5 + @@ -929,7 +929,11 @@ static void timer_function(unsigned long arg) 6 + static void timer_function(struct timer_list *t) 7 + { 8 + unsigned char *buffer; 9 + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 16, 0)) 10 + + struct ch9344_ttyport *ttyport = timer_container_of(ttyport, t, timer); 11 + +#else 12 + struct ch9344_ttyport *ttyport = from_timer(ttyport, t, timer); 13 + +#endif 14 + int fifolen = kfifo_len(&ttyport->rfifo); 15 + int len; 16 +