diff options
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | 0007-kernel-5.15-bus_type.remove-void.patch | 48 | ||||
-rw-r--r-- | 0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch | 42 | ||||
-rw-r--r-- | PKGBUILD | 22 |
4 files changed, 116 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = moxa-uport16x0 pkgdesc = kernel module driver for Moxa multi port USB serial 1250 1410 1450 1610 1650 RS-232 422 485 pkgver = 1.2.13 - pkgrel = 4 + pkgrel = 5 url = https://www.moxa.com/product/UPort_1610-8_1650-8.htm install = moxa-uport16x0-install.sh arch = i686 @@ -24,15 +24,21 @@ pkgbase = moxa-uport16x0 source = 0004-kernel-5.12-tty-low_latency.patch source = 0005-kernel-5.13-dropped-tty_check_change.patch source = 0006-kernel-5.14-unsigned-tty.patch + source = 0007-kernel-5.15-bus_type.remove-void.patch + source = 0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch md5sums = 17a240340a322b3da2e07fc929950288 md5sums = 9ec720fdaaccc41648ffb6d58c45c64e md5sums = 13cc25e1625f1dc8456aaf703efbe816 md5sums = c06ffb879ec71eb19a74eb90839f4d91 md5sums = b20646163937da295547dc8bf4bbaccf + md5sums = 4d1d2a36a1707e93f83db3d75e221c6f + md5sums = 637fca359414559c4e5029775da82d85 sha256sums = aed6f9a1bb6e88a22b520dc6cbbb6624accea080dcaca727c0fab031868228b6 sha256sums = f753e48ea68282288bd53f045c88bd61e39a4c6cf691544953c6929888183370 sha256sums = 151a7c84d3815814d45cebd6d58427c27a2b3c6e06c1209d984738e94fea90d8 sha256sums = 4840cccfcd432b7b4f861b5b556c0445f4cd93d277c6cb0045eeebaf92190c4e sha256sums = 045a3957b540ff8a9f9e401c343683a794837bda4e047759564df6ce2e8912a4 + sha256sums = 1b0bea590d671fc52b2e5231062ebdc07984e594e07ecdee4883fddbe78b4fa3 + sha256sums = f16425c12383498687fd3b38e782fe54c399e0962e437d49c417f86b0d99b563 pkgname = moxa-uport16x0 diff --git a/0007-kernel-5.15-bus_type.remove-void.patch b/0007-kernel-5.15-bus_type.remove-void.patch new file mode 100644 index 000000000000..0eb68489e059 --- /dev/null +++ b/0007-kernel-5.15-bus_type.remove-void.patch @@ -0,0 +1,48 @@ +--- driver/mxusbserial/mxbus.c.orig 2017-10-16 22:19:05.000000000 -0400 ++++ driver/mxusbserial/mxbus.c 2021-11-21 01:04:42.111372571 -0500 +@@ -95,11 +95,15 @@ static int usb_serial_device_probe (stru + #endif + exit: + return retval; + } + ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)) + static int usb_serial_device_remove (struct device *dev) ++#else ++static void usb_serial_device_remove (struct device *dev) ++#endif + { + #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,14)) + struct usb_serial_driver *driver; + #else + struct usb_serial_device_type *driver; +@@ -108,11 +112,15 @@ static int usb_serial_device_remove (str + int retval = 0; + int minor; + + port = to_usb_serial_port(dev); + if (!port) { ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)) + return -ENODEV; ++#else ++ return; ++#endif + } + + driver = port->serial->type; + if (driver->port_remove) { + #if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,14)) +@@ -139,11 +147,13 @@ exit: + driver->description, minor); + #else + dev_info(dev, "%s converter now disconnected from ttyMXUSB%d\n", + driver->name, minor); + #endif ++#if (LINUX_VERSION_CODE < KERNEL_VERSION(5,15,0)) + return retval; ++#endif + } + + struct bus_type mx_usb_serial_bus_type = { + .name = "mxusbserial", + .match = usb_serial_device_match, diff --git a/0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch b/0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch new file mode 100644 index 000000000000..d5e6738608a3 --- /dev/null +++ b/0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch @@ -0,0 +1,42 @@ +--- driver/mxusbserial/mxusb-serial.c.orig 2021-11-21 01:10:31.632601395 -0500 ++++ driver/mxusbserial/mxusb-serial.c 2021-11-21 01:11:48.575138551 -0500 +@@ -1682,12 +1682,12 @@ struct tty_driver *mx_usbserial_tty_driv + int usb_serial_init(void) + { + int i; + int result; + +- mx_usbserial_tty_driver = alloc_tty_driver(SERIAL_TTY_MINORS); +- if (!mx_usbserial_tty_driver) ++ mx_usbserial_tty_driver = tty_alloc_driver(SERIAL_TTY_MINORS,0); ++ if (IS_ERR(mx_usbserial_tty_driver)) + return -ENOMEM; + + /* Initialize our global data */ + for (i = 0; i < SERIAL_TTY_MINORS; ++i) { + serial_table[i] = NULL; +@@ -1739,22 +1739,22 @@ exit_tty: + exit_reg_driver: + bus_unregister(&mx_usb_serial_bus_type); + + exit_bus: + err ("%s - returning with error %d", __FUNCTION__, result); +- put_tty_driver(mx_usbserial_tty_driver); ++ tty_driver_kref_put(mx_usbserial_tty_driver); + return result; + } + + + void usb_serial_exit(void) + { + //mx_usbserial_console_exit(); + + usb_deregister(&usb_serial_driver); + tty_unregister_driver(mx_usbserial_tty_driver); +- put_tty_driver(mx_usbserial_tty_driver); ++ tty_driver_kref_put(mx_usbserial_tty_driver); + bus_unregister(&mx_usb_serial_bus_type); + } + + + module_init(usb_serial_init); @@ -44,7 +44,7 @@ _servicename="${pkgname}-settings" #pkgver='1.2'; _build='12071314' #pkgver='1.2.9'; _build='14103017' pkgver='1.2.13'; _build='18030617' -pkgrel='4' +pkgrel='5' pkgdesc='kernel module driver for Moxa multi port USB serial 1250 1410 1450 1610 1650 RS-232 422 485' _servicedesc='Moxa UPort persistent settings' arch=('i686' 'x86_64') @@ -68,17 +68,23 @@ source=( '0004-kernel-5.12-tty-low_latency.patch' '0005-kernel-5.13-dropped-tty_check_change.patch' '0006-kernel-5.14-unsigned-tty.patch' + '0007-kernel-5.15-bus_type.remove-void.patch' + '0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch' ) md5sums=('17a240340a322b3da2e07fc929950288' '9ec720fdaaccc41648ffb6d58c45c64e' '13cc25e1625f1dc8456aaf703efbe816' 'c06ffb879ec71eb19a74eb90839f4d91' - 'b20646163937da295547dc8bf4bbaccf') + 'b20646163937da295547dc8bf4bbaccf' + '4d1d2a36a1707e93f83db3d75e221c6f' + '637fca359414559c4e5029775da82d85') sha256sums=('aed6f9a1bb6e88a22b520dc6cbbb6624accea080dcaca727c0fab031868228b6' 'f753e48ea68282288bd53f045c88bd61e39a4c6cf691544953c6929888183370' '151a7c84d3815814d45cebd6d58427c27a2b3c6e06c1209d984738e94fea90d8' '4840cccfcd432b7b4f861b5b556c0445f4cd93d277c6cb0045eeebaf92190c4e' - '045a3957b540ff8a9f9e401c343683a794837bda4e047759564df6ce2e8912a4') + '045a3957b540ff8a9f9e401c343683a794837bda4e047759564df6ce2e8912a4' + '1b0bea590d671fc52b2e5231062ebdc07984e594e07ecdee4883fddbe78b4fa3' + 'f16425c12383498687fd3b38e782fe54c399e0962e437d49c417f86b0d99b563') if [ "${_opt_DKMS}" -ne 0 ]; then depends+=('linux' 'dkms' 'linux-headers') @@ -173,6 +179,16 @@ prepare() { #diff -pNaru5 driver/mxusbserial/mxusb-serial.c{.orig,} > '0006-kernel-5.14-unsigned-tty.patch' patch -Nbup0 -i "${srcdir}/0006-kernel-5.14-unsigned-tty.patch" + # https://www.spinics.net/lists/backports/msg05227.html [PATCH 39/47] patches: Adapt signature of bus_type->remove callback + # http://lkml.iu.edu/hypermail/linux/kernel/2107.0/03551.html [PATCH] bus: Make remove callback return void + #cp -p driver/mxusbserial/mxbus.c{,.orig}; false + #diff -pNaru5 driver/mxusbserial/mxbus.c{.orig,} > '0007-kernel-5.15-bus_type.remove-void.patch' + patch -Nbup0 -i "${srcdir}/0007-kernel-5.15-bus_type.remove-void.patch" + + #cp -p driver/mxusbserial/mxusb-serial.c{,.orig}; false + #diff -pNaru5 driver/mxusbserial/mxusb-serial.c{.orig,} > '0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch' + patch -Nbup0 -i "${srcdir}/0008-kernel-5.15-alloc_tty_driver-put_tty_driver.patch" + # Fix umbrella Makefile sed -e '# Disable silent' \ -e '/make / s:\s\+-s::g' \ |