diff options
author | Chris Severance | 2023-01-28 16:06:20 -0500 |
---|---|---|
committer | Chris Severance | 2023-01-28 16:06:20 -0500 |
commit | 6f943f82e658c3b36f3ffd348e74b27821eb5dcc (patch) | |
tree | 520379484fce2bd3fb4ad3a9a087506c4369a633 | |
parent | 5823f0e2433a632c454fc1a4b6a2db92fd73ab3a (diff) | |
download | aur-6f943f82e658c3b36f3ffd348e74b27821eb5dcc.tar.gz |
autu: Update to 1.3.29-7
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | 0008-kernel-6.1-remove-TTY_MAGIC.patch | 359 | ||||
-rw-r--r-- | 0009-kernel-5.17-change-PDE_DATA.patch | 67 | ||||
-rw-r--r-- | 0010-kernel-6.1-INIT_C_CC-termios_internal.patch | 17 | ||||
-rw-r--r-- | 0011-kernel-6.0-set_termios-const-ktermios.patch | 35 | ||||
-rw-r--r-- | PKGBUILD | 50 |
6 files changed, 533 insertions, 9 deletions
@@ -1,7 +1,7 @@ pkgbase = digi-dgnc pkgdesc = tty driver for Digi Neo and legacy ClassicBoard PCI PCIe RS-232 serial port pkgver = 1.3.29 - pkgrel = 6 + pkgrel = 7 url = https://www.digi.com/ install = digi-dgnc-install.sh arch = i686 @@ -21,6 +21,10 @@ pkgbase = digi-dgnc source = 0005-kernel-5.13-dropped-tty_check_change.patch source = 0006-kernel-5.14-task_struct.state-unsigned-tty.patch source = 0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch + source = 0008-kernel-6.1-remove-TTY_MAGIC.patch + source = 0009-kernel-5.17-change-PDE_DATA.patch + source = 0010-kernel-6.1-INIT_C_CC-termios_internal.patch + source = 0011-kernel-6.0-set_termios-const-ktermios.patch md5sums = 6171349852f6d02228d6e30c79b7a434 md5sums = a171e9ea1a4ff8340c3c58b303632edf md5sums = 6c16c3c24c79fb558bcf27f780829c75 @@ -30,6 +34,10 @@ pkgbase = digi-dgnc md5sums = 10ba960da22684d2da89872df1d822cc md5sums = 89de6a694ecf827a3358bcd8aea03a6a md5sums = 58d75d8f86830d09ba8754d4e03a6a9d + md5sums = 7ceda3eaa776322b2042de8d159535ea + md5sums = 9371ea6968666c58413a463fcf341d1f + md5sums = 53bcd11e5e4acbd0466b3ffdda3b263b + md5sums = 6475487a9415d3dc7ece9dd888cec92c sha256sums = e121a31569e3e1f156caeed70742971ec32fef598429ef647bde98f56aa048f5 sha256sums = 625bb794d31690b45ad7469f811e7422dac938cf8e9b777aba4d97b60b3c6eae sha256sums = 88d5a8589dca55ca98089dfa4570aa1fbde1095957d0788ad710a27b348c2f4f @@ -39,5 +47,9 @@ pkgbase = digi-dgnc sha256sums = 13257318895327e7438f7f357c5dc7d67310ec0468802df083815414d4743805 sha256sums = dcedb22e0f3fb0c8197630b38217f86c5468d065ab2d67708c16c17351d6944e sha256sums = 0693e13442749c40a338320cca72dd8aad23678ea7cae035e6bab01a40640c44 + sha256sums = 718e5104ff4caf153757dd2f8c143402d2c175fd838cfc5db3f47618efd40230 + sha256sums = b5000b9bb68ae8ddc173b666ead6d60fa329aa4d5d96636af4717a131827748c + sha256sums = c0786d12440da829f0a57ca9e7f2c3114edbd88213bb66687ac84730ee7c8ed1 + sha256sums = ab4921079d2a4ee3316bbea3bcb3ff7844d8ced73b6b4327d3c580088bc511b1 pkgname = digi-dgnc diff --git a/0008-kernel-6.1-remove-TTY_MAGIC.patch b/0008-kernel-6.1-remove-TTY_MAGIC.patch new file mode 100644 index 000000000000..4d079b09d820 --- /dev/null +++ b/0008-kernel-6.1-remove-TTY_MAGIC.patch @@ -0,0 +1,359 @@ +diff -pNaru5 a/driver/2.6.27/dgnc_cls.c b/driver/2.6.27/dgnc_cls.c +--- a/driver/2.6.27/dgnc_cls.c 2017-10-21 10:39:21.000000000 -0400 ++++ b/driver/2.6.27/dgnc_cls.c 2023-01-28 14:36:56.298578571 -0500 +@@ -482,11 +482,11 @@ static void cls_param(struct tty_struct + int quot = 0; + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + +- if (!tty || tty->magic != TTY_MAGIC) { ++ if (!tty || !tty->ldisc) { + return; + } + + un = (struct un_t *) tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) { +@@ -979,11 +979,11 @@ static int cls_drain(struct tty_struct * + ulong lock_flags; + struct channel_t *ch; + struct un_t *un; + int rc = 0; + +- if (!tty || tty->magic != TTY_MAGIC) { ++ if (!tty || !tty->ldisc) { + return (-ENXIO); + } + + un = (struct un_t *) tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) { +diff -pNaru5 a/driver/2.6.27/dgnc_neo.c b/driver/2.6.27/dgnc_neo.c +--- a/driver/2.6.27/dgnc_neo.c 2017-10-21 10:39:21.000000000 -0400 ++++ b/driver/2.6.27/dgnc_neo.c 2023-01-28 14:36:49.068942864 -0500 +@@ -656,11 +656,11 @@ static void neo_param(struct tty_struct + int quot = 0; + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + +- if (!tty || tty->magic != TTY_MAGIC) { ++ if (!tty || !tty->ldisc) { + return; + } + + un = (struct un_t *) tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) { +@@ -1432,11 +1432,11 @@ static int neo_drain(struct tty_struct * + ulong lock_flags; + struct channel_t *ch; + struct un_t *un; + int rc = 0; + +- if (!tty || tty->magic != TTY_MAGIC) { ++ if (!tty || !tty->ldisc) { + return (-ENXIO); + } + + un = (struct un_t *) tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) { +diff -pNaru5 a/driver/2.6.27/dgnc_neo_II.c b/driver/2.6.27/dgnc_neo_II.c +--- a/driver/2.6.27/dgnc_neo_II.c 2017-10-21 10:39:21.000000000 -0400 ++++ b/driver/2.6.27/dgnc_neo_II.c 2023-01-28 14:37:01.024996046 -0500 +@@ -531,11 +531,11 @@ static void neo_II_param(struct tty_stru + int quot = 0; + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + +- if (!tty || tty->magic != TTY_MAGIC) { ++ if (!tty || !tty->ldisc) { + return; + } + + un = (struct un_t *) tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) { +@@ -1166,11 +1166,11 @@ static int neo_II_drain(struct tty_struc + ulong lock_flags; + struct channel_t *ch; + struct un_t *un; + int rc = 0; + +- if (!tty || tty->magic != TTY_MAGIC) { ++ if (!tty || !tty->ldisc) { + return (-ENXIO); + } + + un = (struct un_t *) tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) { +diff -pNaru5 a/driver/2.6.27/dgnc_tty.c b/driver/2.6.27/dgnc_tty.c +--- a/driver/2.6.27/dgnc_tty.c 2023-01-28 14:28:53.575256967 -0500 ++++ b/driver/2.6.27/dgnc_tty.c 2023-01-28 14:36:29.533153640 -0500 +@@ -783,18 +783,18 @@ void dgnc_input(struct channel_t *ch) + + #if LINUX_VERSION_CODE < KERNEL_VERSION(3,7,0) + if (!tp || (tp->magic != TTY_MAGIC) || !(ch->ch_tun.un_flags & UN_ISOPEN) || + !(tp->termios->c_cflag & CREAD) || (ch->ch_tun.un_flags & UN_CLOSING)) + #else +- if (!tp || (tp->magic != TTY_MAGIC) || !(ch->ch_tun.un_flags & UN_ISOPEN) || ++ if (!tp || !tp->ldisc || !(ch->ch_tun.un_flags & UN_ISOPEN) || + !(tp->termios.c_cflag & CREAD) || (ch->ch_tun.un_flags & UN_CLOSING)) + #endif + { + + DPR_READ(("input. dropping %d bytes on port %d...\n", data_len, ch->ch_portnum)); +- DPR_READ(("input. tp: %p tp->magic: %x MAGIC:%x ch flags: %x\n", +- tp, tp ? tp->magic : 0, TTY_MAGIC, ch->ch_tun.un_flags)); ++ DPR_READ(("input. tp: %p ch flags: %x\n", ++ tp, ch->ch_tun.un_flags)); + + ch->ch_r_head = tail; + + /* Force queue flow control to be released, if needed */ + dgnc_check_queue_flow_control(ch); +@@ -1686,11 +1686,11 @@ static int dgnc_block_til_ready(struct t + struct un_t *un = NULL; + ulong lock_flags; + uint old_flags = 0; + int sleep_on_un_flags = 0; + +- if (!tty || tty->magic != TTY_MAGIC || !file || !ch || ch->magic != DGNC_CHANNEL_MAGIC) { ++ if (!tty || !tty->ldisc || !file || !ch || ch->magic != DGNC_CHANNEL_MAGIC) { + return (-ENXIO); + } + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) { +@@ -1848,11 +1848,11 @@ static int dgnc_block_til_ready(struct t + */ + static void dgnc_tty_hangup(struct tty_struct *tty) + { + struct un_t *un; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -1879,11 +1879,11 @@ static void dgnc_tty_close(struct tty_st + struct channel_t *ch; + struct un_t *un; + ulong lock_flags; + int rc = 0; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -2466,11 +2466,11 @@ static int dgnc_tty_tiocmget(struct tty_ + struct un_t *un; + int result = -EIO; + uchar mstat = 0; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return result; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return result; +@@ -2525,11 +2525,11 @@ static int dgnc_tty_tiocmset(struct tty_ + struct channel_t *ch; + struct un_t *un; + int ret = -EIO; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return ret; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return ret; +@@ -2584,11 +2584,11 @@ static int dgnc_tty_send_break(struct tt + struct channel_t *ch; + struct un_t *un; + int ret = -EIO; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return ret; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return ret; +@@ -2637,11 +2637,11 @@ static void dgnc_tty_wait_until_sent(str + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + int rc; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -2673,11 +2673,11 @@ static void dgnc_tty_send_xchar(struct t + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -2782,11 +2782,11 @@ static int dgnc_set_modem_info(struct tt + struct un_t *un; + int ret = -ENXIO; + unsigned int arg = 0; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return ret; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return ret; +@@ -2880,11 +2880,11 @@ static int dgnc_tty_digigeta(struct tty_ + ulong lock_flags; + + if (!retinfo) + return (-EFAULT); + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return (-EFAULT); + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return (-EFAULT); +@@ -2922,11 +2922,11 @@ static int dgnc_tty_digiseta(struct tty_ + struct digi_t new_digi; + ulong lock_flags; + + DPR_IOCTL(("DIGI_SETA start\n")); + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return (-EFAULT); + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return (-EFAULT); +@@ -3003,11 +3003,11 @@ static void dgnc_tty_set_termios(struct + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + unsigned long lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -3049,11 +3049,11 @@ static void dgnc_tty_throttle(struct tty + { + struct channel_t *ch; + struct un_t *un; + ulong lock_flags = 0; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -3078,11 +3078,11 @@ static void dgnc_tty_unthrottle(struct t + { + struct channel_t *ch; + struct un_t *un; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -3108,11 +3108,11 @@ static void dgnc_tty_start(struct tty_st + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -3142,11 +3142,11 @@ static void dgnc_tty_stop(struct tty_str + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -3189,11 +3189,11 @@ static void dgnc_tty_flush_chars(struct + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -3228,11 +3228,11 @@ static void dgnc_tty_flush_buffer(struct + { + struct channel_t *ch; + struct un_t *un; + ulong lock_flags; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return; + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return; +@@ -3298,11 +3298,11 @@ dgnc_tty_ioctl(struct tty_struct *tty, u + struct un_t *un; + int rc; + ulong lock_flags; + void __user *uarg = (void __user *) arg; + +- if (!tty || tty->magic != TTY_MAGIC) ++ if (!tty || !tty->ldisc) + return (-ENODEV); + + un = tty->driver_data; + if (!un || un->magic != DGNC_UNIT_MAGIC) + return (-ENODEV); diff --git a/0009-kernel-5.17-change-PDE_DATA.patch b/0009-kernel-5.17-change-PDE_DATA.patch new file mode 100644 index 000000000000..d2c1002be18f --- /dev/null +++ b/0009-kernel-5.17-change-PDE_DATA.patch @@ -0,0 +1,67 @@ +diff -pNaru5 a/driver/2.6.27/dgnc_proc.c b/driver/2.6.27/dgnc_proc.c +--- a/driver/2.6.27/dgnc_proc.c 2023-01-28 14:46:11.117123311 -0500 ++++ b/driver/2.6.27/dgnc_proc.c 2023-01-28 14:52:09.647326130 -0500 +@@ -400,11 +400,15 @@ static int dgnc_gen_proc_open(struct ino + goto done; + } + + entry = (struct dgnc_proc_entry *) de->data; + #else /* >=3,10,0 */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0) + entry = (struct dgnc_proc_entry *) PDE_DATA(file_inode(file)); ++#else ++ entry = pde_data(file_inode(file)); ++#endif + #endif + if (!entry) { + ret = -ENXIO; + goto done; + } +@@ -448,11 +452,15 @@ static int dgnc_gen_proc_close(struct in + if (!de || !de->data) + goto done; + + entry = (struct dgnc_proc_entry *) de->data; + #else /* >=3,10,0 */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0) + entry = (struct dgnc_proc_entry *) PDE_DATA(file_inode(file)); ++#else ++ entry = pde_data(file_inode(file)); ++#endif + #endif + + if (!entry) + goto done; + +@@ -490,11 +498,15 @@ static ssize_t dgnc_gen_proc_read(struct + if (!de || !de->data) + return -ENXIO; + + entry = (struct dgnc_proc_entry *) de->data; + #else /* >=3,10,0 */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0) + entry = (struct dgnc_proc_entry *) PDE_DATA(file_inode(file)); ++#else ++ entry = pde_data(file_inode(file)); ++#endif + #endif + + if (!entry) + return -ENXIO; + +@@ -534,11 +546,15 @@ static ssize_t dgnc_gen_proc_write(struc + if (!de || !de->data) + return -ENXIO; + + entry = (struct dgnc_proc_entry *) de->data; + #else /* >=3,10,0 */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5,17,0) + entry = (struct dgnc_proc_entry *) PDE_DATA(file_inode(file)); ++#else ++ entry = pde_data(file_inode(file)); ++#endif + #endif + + if (!entry) + return -ENXIO; + diff --git a/0010-kernel-6.1-INIT_C_CC-termios_internal.patch b/0010-kernel-6.1-INIT_C_CC-termios_internal.patch new file mode 100644 index 000000000000..f6d9178ec163 --- /dev/null +++ b/0010-kernel-6.1-INIT_C_CC-termios_internal.patch @@ -0,0 +1,17 @@ +diff -pNaru5 a/driver/2.6.27/dgnc_tty.c b/driver/2.6.27/dgnc_tty.c +--- a/driver/2.6.27/dgnc_tty.c 2023-01-28 15:38:17.005198782 -0500 ++++ b/driver/2.6.27/dgnc_tty.c 2023-01-28 15:42:22.631445123 -0500 +@@ -54,10 +54,13 @@ + #include <linux/serial_reg.h> + #include <linux/slab.h> + #include <linux/delay.h> /* For udelay */ + #include <asm/uaccess.h> /* For copy_from_user/copy_to_user */ + #include <linux/pci.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,1,0) ++#include <linux/termios_internal.h> ++#endif + + #include "dgnc_driver.h" + #include "dgnc_kcompat.h" + #include "dgnc_tty.h" + #include "dgnc_types.h" diff --git a/0011-kernel-6.0-set_termios-const-ktermios.patch b/0011-kernel-6.0-set_termios-const-ktermios.patch new file mode 100644 index 000000000000..8db4ce693efe --- /dev/null +++ b/0011-kernel-6.0-set_termios-const-ktermios.patch @@ -0,0 +1,35 @@ +diff -pNaru5 a/driver/2.6.27/dgnc_tty.c b/driver/2.6.27/dgnc_tty.c +--- a/driver/2.6.27/dgnc_tty.c 2023-01-28 15:45:44.006164787 -0500 ++++ b/driver/2.6.27/dgnc_tty.c 2023-01-28 15:48:09.570243005 -0500 +@@ -152,11 +152,15 @@ static int dgnc_tty_tiocmget(struct tty_ + static int dgnc_tty_tiocmset(struct tty_struct *tty, unsigned int set, unsigned int clear); + #endif + static int dgnc_tty_send_break(struct tty_struct *tty, int msec); + static void dgnc_tty_wait_until_sent(struct tty_struct *tty, int timeout); + static int dgnc_tty_write(struct tty_struct *tty, const unsigned char *buf, int count); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6,0,0) + static void dgnc_tty_set_termios(struct tty_struct *tty, struct ktermios *old_termios); ++#else ++static void dgnc_tty_set_termios(struct tty_struct *tty, const struct ktermios *old_termios); ++#endif + static void dgnc_tty_send_xchar(struct tty_struct *tty, char ch); + + + static const struct tty_operations dgnc_tty_ops = { + .open = dgnc_tty_open, +@@ -2999,11 +3003,15 @@ static int dgnc_tty_digiseta(struct tty_ + + + /* + * dgnc_set_termios() + */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6,0,0) + static void dgnc_tty_set_termios(struct tty_struct *tty, struct ktermios *old_termios) ++#else ++static void dgnc_tty_set_termios(struct tty_struct *tty, const struct ktermios *old_termios) ++#endif + { + struct board_t *bd; + struct channel_t *ch; + struct un_t *un; + unsigned long lock_flags; @@ -5,8 +5,12 @@ # Digi bug: change literal "dgnc" to DRVSTR or PROCSTR # Digi bug: viewing /proc/dgnc/0/[0-9]/sniff hangs terminal +# Digi bug: multiple PCI cards not fully supported. Some cards may be non functional. Boot over and over to get them all to work. +# Digi bug: Non functional in 5.15 even with just one card # Stopped working after kernel version 5.14.0: /dev/ttyn1a: No such device or address +# also works not well in 5.10. rmmod modprobe doesn't fix it. Must reboot over and over until it's fixed. +# Pretty much dead _opt_DKMS=1 # This can be toggled between installs _opt_defaultmode="0660" # default: 0600 @@ -19,10 +23,11 @@ pkgname='digi-dgnc' #_pkgver='1.3-28'; _dl='40002369_G.tgz' _pkgver='1.3-29'; _dl='40002369_H.src.rpm' pkgver="${_pkgver//-/.}" -pkgrel='6' +pkgrel='7' pkgdesc='tty driver for Digi Neo and legacy ClassicBoard PCI PCIe RS-232 serial port' arch=('i686' 'x86_64') url='https://www.digi.com/' +# https://hub.digi.com/support/products/infrastructure-management/ license=('GPL') options=('!strip' '!buildflags') install="${pkgname}-install.sh" @@ -37,6 +42,10 @@ source=( '0005-kernel-5.13-dropped-tty_check_change.patch' '0006-kernel-5.14-task_struct.state-unsigned-tty.patch' '0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch' + '0008-kernel-6.1-remove-TTY_MAGIC.patch' + '0009-kernel-5.17-change-PDE_DATA.patch' + '0010-kernel-6.1-INIT_C_CC-termios_internal.patch' + '0011-kernel-6.0-set_termios-const-ktermios.patch' ) md5sums=('6171349852f6d02228d6e30c79b7a434' 'a171e9ea1a4ff8340c3c58b303632edf' @@ -46,7 +55,11 @@ md5sums=('6171349852f6d02228d6e30c79b7a434' '44b0a7b0ab4dbe661b822fcba9423121' '10ba960da22684d2da89872df1d822cc' '89de6a694ecf827a3358bcd8aea03a6a' - '58d75d8f86830d09ba8754d4e03a6a9d') + '58d75d8f86830d09ba8754d4e03a6a9d' + '7ceda3eaa776322b2042de8d159535ea' + '9371ea6968666c58413a463fcf341d1f' + '53bcd11e5e4acbd0466b3ffdda3b263b' + '6475487a9415d3dc7ece9dd888cec92c') sha256sums=('e121a31569e3e1f156caeed70742971ec32fef598429ef647bde98f56aa048f5' '625bb794d31690b45ad7469f811e7422dac938cf8e9b777aba4d97b60b3c6eae' '88d5a8589dca55ca98089dfa4570aa1fbde1095957d0788ad710a27b348c2f4f' @@ -55,7 +68,11 @@ sha256sums=('e121a31569e3e1f156caeed70742971ec32fef598429ef647bde98f56aa048f5' 'f215451df4a01f0875a53425b6d8452c344f19b61b59b821f8c949b1b276c022' '13257318895327e7438f7f357c5dc7d67310ec0468802df083815414d4743805' 'dcedb22e0f3fb0c8197630b38217f86c5468d065ab2d67708c16c17351d6944e' - '0693e13442749c40a338320cca72dd8aad23678ea7cae035e6bab01a40640c44') + '0693e13442749c40a338320cca72dd8aad23678ea7cae035e6bab01a40640c44' + '718e5104ff4caf153757dd2f8c143402d2c175fd838cfc5db3f47618efd40230' + 'b5000b9bb68ae8ddc173b666ead6d60fa329aa4d5d96636af4717a131827748c' + 'c0786d12440da829f0a57ca9e7f2c3114edbd88213bb66687ac84730ee7c8ed1' + 'ab4921079d2a4ee3316bbea3bcb3ff7844d8ced73b6b4327d3c580088bc511b1') if [ "${_opt_DKMS}" -ne 0 ]; then depends+=('linux' 'dkms' 'linux-headers') @@ -109,25 +126,42 @@ prepare() { #cp -pr driver/2.6.27{,.orig}; false #diff -pNaru5 driver/2.6.27{.orig,} > '0003-kernel-5.6--proc_dir_entry-proc_ops.patch' - patch -Nbup0 -i "${srcdir}/0003-kernel-5.6--proc_dir_entry-proc_ops.patch" + patch -Nup0 -i "${srcdir}/0003-kernel-5.6--proc_dir_entry-proc_ops.patch" #rm -f driver/2.6.27/*.orig; cp -pr driver/2.6.27{,.orig}; false #diff -pNaru5 driver/2.6.27{.orig,} > '0004-kernel-5.12-MODULE_SUPPORTED_DEVICE.patch' - patch -Nbup0 -i "${srcdir}/0004-kernel-5.12-MODULE_SUPPORTED_DEVICE.patch" + patch -Nup0 -i "${srcdir}/0004-kernel-5.12-MODULE_SUPPORTED_DEVICE.patch" #rm -f driver/2.6.27/*.orig; cp -pr driver/2.6.27{,.orig}; false #diff -pNaru5 driver/2.6.27{.orig,} > '0005-kernel-5.13-dropped-tty_check_change.patch' - patch -Nbup0 -i "${srcdir}/0005-kernel-5.13-dropped-tty_check_change.patch" + patch -Nup0 -i "${srcdir}/0005-kernel-5.13-dropped-tty_check_change.patch" #rm -f driver/2.6.27/*.orig; cp -pr driver/2.6.27{,.orig}; false #diff -pNaru5 driver/2.6.27{.orig,} > '0006-kernel-5.14-task_struct.state-unsigned-tty.patch' - patch -Nbup0 -i "${srcdir}/0006-kernel-5.14-task_struct.state-unsigned-tty.patch" + patch -Nup0 -i "${srcdir}/0006-kernel-5.14-task_struct.state-unsigned-tty.patch" # http://lkml.iu.edu/hypermail/linux/kernel/2107.2/08799.html [PATCH 5/8] tty: drop alloc_tty_driver # http://lkml.iu.edu/hypermail/linux/kernel/2107.2/08801.html [PATCH 7/8] tty: drop put_tty_driver #rm -f driver/2.6.27/*.orig; cp -pr driver/2.6.27{,.orig}; false #diff -pNaru5 driver/2.6.27{.orig,} > '0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch' - patch -Nbup0 -i "${srcdir}/0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch" + patch -Nup0 -i "${srcdir}/0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch" + + # https://lore.kernel.org/lkml/723478a270a3858f27843cbec621df4d5d44efcc.1663288066.git.nabijaczleweli@nabijaczleweli.xyz/T/ + # cd ..; cp -pr "${_srcdir}" 'a'; ln -s "${_srcdir}" 'b'; false + # diff -pNaru5 'a' 'b' > '0008-kernel-6.1-remove-TTY_MAGIC.patch' + patch -Nup1 -i "${srcdir}/0008-kernel-6.1-remove-TTY_MAGIC.patch" + + # cd ..; cp -pr "${_srcdir}" 'a'; ln -s "${_srcdir}" 'b'; false + # diff -pNaru5 'a' 'b' > '0009-kernel-5.17-change-PDE_DATA.patch' + patch -Nup1 -i "${srcdir}/0009-kernel-5.17-change-PDE_DATA.patch" + + #cd ..; cp -pr "${_srcdir}" 'a'; ln -s "${_srcdir}" 'b'; false + # diff -pNaru5 'a' 'b' > '0010-kernel-6.1-INIT_C_CC-termios_internal.patch' + patch -Nup1 -i "${srcdir}/0010-kernel-6.1-INIT_C_CC-termios_internal.patch" + + # cd ..; cp -pr "${_srcdir}" 'a'; ln -s "${_srcdir}" 'b'; false + # diff -pNaru5 'a' 'b' > '0011-kernel-6.0-set_termios-const-ktermios.patch' + patch -Nup1 -i "${srcdir}/0011-kernel-6.0-set_termios-const-ktermios.patch" # Version check local _ver |