summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Severance2021-11-21 01:48:33 -0500
committerChris Severance2021-11-21 01:48:33 -0500
commit5823f0e2433a632c454fc1a4b6a2db92fd73ab3a (patch)
treec03bee57030be6aa47ee7f432fb0a5d0fd683ce3
parentb290ca39c2c09d63986e9a80ea51b68fd91a7f24 (diff)
downloadaur-5823f0e2433a632c454fc1a4b6a2db92fd73ab3a.tar.gz
autu: Update to 1.3.29-6
-rw-r--r--.SRCINFO6
-rw-r--r--0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch55
-rw-r--r--PKGBUILD21
3 files changed, 77 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 55840174d0ac..76105a8cde8f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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 = 5
+ pkgrel = 6
url = https://www.digi.com/
install = digi-dgnc-install.sh
arch = i686
@@ -11,6 +11,7 @@ pkgbase = digi-dgnc
depends = dkms
depends = linux-headers
options = !strip
+ options = !buildflags
source = dgnc-1.3.29-40002369_H.src.rpm::http://ftp1.digi.com/support/driver/40002369_H.src.rpm
source = 0000-Kernel-4-14-DRIVER-ATTR.patch
source = 0001-Kernel-4-15-timers.patch
@@ -19,6 +20,7 @@ pkgbase = digi-dgnc
source = 0004-kernel-5.12-MODULE_SUPPORTED_DEVICE.patch
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
md5sums = 6171349852f6d02228d6e30c79b7a434
md5sums = a171e9ea1a4ff8340c3c58b303632edf
md5sums = 6c16c3c24c79fb558bcf27f780829c75
@@ -27,6 +29,7 @@ pkgbase = digi-dgnc
md5sums = 44b0a7b0ab4dbe661b822fcba9423121
md5sums = 10ba960da22684d2da89872df1d822cc
md5sums = 89de6a694ecf827a3358bcd8aea03a6a
+ md5sums = 58d75d8f86830d09ba8754d4e03a6a9d
sha256sums = e121a31569e3e1f156caeed70742971ec32fef598429ef647bde98f56aa048f5
sha256sums = 625bb794d31690b45ad7469f811e7422dac938cf8e9b777aba4d97b60b3c6eae
sha256sums = 88d5a8589dca55ca98089dfa4570aa1fbde1095957d0788ad710a27b348c2f4f
@@ -35,5 +38,6 @@ pkgbase = digi-dgnc
sha256sums = f215451df4a01f0875a53425b6d8452c344f19b61b59b821f8c949b1b276c022
sha256sums = 13257318895327e7438f7f357c5dc7d67310ec0468802df083815414d4743805
sha256sums = dcedb22e0f3fb0c8197630b38217f86c5468d065ab2d67708c16c17351d6944e
+ sha256sums = 0693e13442749c40a338320cca72dd8aad23678ea7cae035e6bab01a40640c44
pkgname = digi-dgnc
diff --git a/0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch b/0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch
new file mode 100644
index 000000000000..ae2db28e3544
--- /dev/null
+++ b/0007-kernel-5.15-alloc_tty_driver-put_tty_driver.patch
@@ -0,0 +1,55 @@
+diff -pNaru5 driver/2.6.27.orig/dgnc_tty.c driver/2.6.27/dgnc_tty.c
+--- driver/2.6.27.orig/dgnc_tty.c 2021-11-21 00:49:57.469474751 -0500
++++ driver/2.6.27/dgnc_tty.c 2021-11-21 00:52:04.633840884 -0500
+@@ -246,11 +246,11 @@ int dgnc_tty_register(struct board_t *br
+ {
+ int rc = 0;
+
+ DPR_INIT(("tty_register start\n"));
+
+- brd->SerialDriver = alloc_tty_driver(brd->maxports);
++ brd->SerialDriver = tty_alloc_driver(brd->maxports,0);
+
+ brd->SerialDriver->owner = THIS_MODULE;
+ snprintf(brd->SerialName, MAXTTYNAMELEN, "tty_dgnc_%d_", brd->boardnum);
+
+ brd->SerialDriver->name = brd->SerialName;
+@@ -291,11 +291,11 @@ int dgnc_tty_register(struct board_t *br
+ /*
+ * If we're doing transparent print, we have to do all of the above
+ * again, seperately so we don't get the LD confused about what major
+ * we are when we get into the dgnc_tty_open() routine.
+ */
+- brd->PrintDriver = alloc_tty_driver(brd->maxports);
++ brd->PrintDriver = tty_alloc_driver(brd->maxports,0);
+
+ brd->PrintDriver->owner = THIS_MODULE;
+ snprintf(brd->PrintName, MAXTTYNAMELEN, "pr_dgnc_%d_", brd->boardnum);
+
+ brd->PrintDriver->name = brd->PrintName;
+@@ -503,11 +503,11 @@ void dgnc_tty_uninit(struct board_t *brd
+ tty_unregister_driver(brd->SerialDriver);
+ if (brd->SerialDriver->ttys) {
+ kfree(brd->SerialDriver->ttys);
+ brd->SerialDriver->ttys = NULL;
+ }
+- put_tty_driver(brd->SerialDriver);
++ tty_driver_kref_put(brd->SerialDriver);
+ brd->dgnc_Major_Serial_Registered = FALSE;
+ }
+
+ if (brd->dgnc_Major_TransparentPrint_Registered) {
+ dgnc_BoardsByMajor[brd->PrintDriver->major] = NULL;
+@@ -519,11 +519,11 @@ void dgnc_tty_uninit(struct board_t *brd
+ tty_unregister_driver(brd->PrintDriver);
+ if (brd->PrintDriver->ttys) {
+ kfree(brd->PrintDriver->ttys);
+ brd->PrintDriver->ttys = NULL;
+ }
+- put_tty_driver(brd->PrintDriver);
++ tty_driver_kref_put(brd->PrintDriver);
+ brd->dgnc_Major_TransparentPrint_Registered = FALSE;
+ }
+ }
+
+
diff --git a/PKGBUILD b/PKGBUILD
index 74c7871fb8e4..072afc5f1b62 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,6 +6,8 @@
# Digi bug: change literal "dgnc" to DRVSTR or PROCSTR
# Digi bug: viewing /proc/dgnc/0/[0-9]/sniff hangs terminal
+# Stopped working after kernel version 5.14.0: /dev/ttyn1a: No such device or address
+
_opt_DKMS=1 # This can be toggled between installs
_opt_defaultmode="0660" # default: 0600
_opt_defaultgroup="uucp" # default: root
@@ -17,12 +19,12 @@ pkgname='digi-dgnc'
#_pkgver='1.3-28'; _dl='40002369_G.tgz'
_pkgver='1.3-29'; _dl='40002369_H.src.rpm'
pkgver="${_pkgver//-/.}"
-pkgrel='5'
+pkgrel='6'
pkgdesc='tty driver for Digi Neo and legacy ClassicBoard PCI PCIe RS-232 serial port'
arch=('i686' 'x86_64')
url='https://www.digi.com/'
license=('GPL')
-options=('!strip')
+options=('!strip' '!buildflags')
install="${pkgname}-install.sh"
_srcdir="${pkgname##*-}-${pkgver%.*}"
source=(
@@ -34,6 +36,7 @@ source=(
'0004-kernel-5.12-MODULE_SUPPORTED_DEVICE.patch'
'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'
)
md5sums=('6171349852f6d02228d6e30c79b7a434'
'a171e9ea1a4ff8340c3c58b303632edf'
@@ -42,7 +45,8 @@ md5sums=('6171349852f6d02228d6e30c79b7a434'
'394d24a150676d8123300d6715b81fb8'
'44b0a7b0ab4dbe661b822fcba9423121'
'10ba960da22684d2da89872df1d822cc'
- '89de6a694ecf827a3358bcd8aea03a6a')
+ '89de6a694ecf827a3358bcd8aea03a6a'
+ '58d75d8f86830d09ba8754d4e03a6a9d')
sha256sums=('e121a31569e3e1f156caeed70742971ec32fef598429ef647bde98f56aa048f5'
'625bb794d31690b45ad7469f811e7422dac938cf8e9b777aba4d97b60b3c6eae'
'88d5a8589dca55ca98089dfa4570aa1fbde1095957d0788ad710a27b348c2f4f'
@@ -50,7 +54,8 @@ sha256sums=('e121a31569e3e1f156caeed70742971ec32fef598429ef647bde98f56aa048f5'
'3496e90914e1fa2f209dd85c336e7b1c0b784dbbf67cc45e0f0f55f0b1ef5a0e'
'f215451df4a01f0875a53425b6d8452c344f19b61b59b821f8c949b1b276c022'
'13257318895327e7438f7f357c5dc7d67310ec0468802df083815414d4743805'
- 'dcedb22e0f3fb0c8197630b38217f86c5468d065ab2d67708c16c17351d6944e')
+ 'dcedb22e0f3fb0c8197630b38217f86c5468d065ab2d67708c16c17351d6944e'
+ '0693e13442749c40a338320cca72dd8aad23678ea7cae035e6bab01a40640c44')
if [ "${_opt_DKMS}" -ne 0 ]; then
depends+=('linux' 'dkms' 'linux-headers')
@@ -118,6 +123,12 @@ prepare() {
#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"
+ # 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"
+
# Version check
local _ver
_ver="$(grep -e 'TRUE_VERSION=' ./Makefile.inc | cut -d'"' -f2)"
@@ -212,8 +223,10 @@ build() {
set -u
cd "${_srcdir}"
_configure
+ set +u; msg2 'Build config'; set -u
#CPPFLAGS="${CPPFLAGS//-D_FORTIFY_SOURCE=2/}" \
make -C 'config' -j1
+ set +u; msg2 'Build'; set -u
make -j1
set +u
}