diff options
author | Théo Le Calvar | 2021-11-10 14:00:48 +0100 |
---|---|---|
committer | Théo Le Calvar | 2021-11-10 14:00:48 +0100 |
commit | 3e1c6b52fd535ff96e8975bfc0235e1935dd138b (patch) | |
tree | deb2373182b6e8321712cb734221051c068b21f4 | |
parent | 009eb079e763006bb6c190d7f07fdb62079f095a (diff) | |
download | aur-3e1c6b52fd535ff96e8975bfc0235e1935dd138b.tar.gz |
fix compilation issue with kernel 5.15 and above
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 01-fix-alloc_tty_driver.patch | 112 | ||||
-rw-r--r-- | PKGBUILD | 19 |
3 files changed, 126 insertions, 9 deletions
@@ -1,7 +1,7 @@ pkgbase = decklink pkgdesc = Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards pkgver = 12.2 - pkgrel = 0 + pkgrel = 1 url = https://www.blackmagicdesign.com/support/family/capture-and-playback arch = i686 arch = x86_64 @@ -10,7 +10,9 @@ pkgbase = decklink options = !strip options = staticlibs source = decklink-12.2.tar.gz::https://www.blackmagicdesign.com/api/register/us/download/f3106b481e2b4cd5934a650c869be25f + source = 01-fix-alloc_tty_driver.patch sha256sums = 62954a18b60d9040aa4a959dff30ac9c260218ef78d6a63cbb243788f7abc05f + sha256sums = ede66414652d5bb669bf32eb8aa870d8e91889db23919a454606daa1a4c2cd73 pkgname = decklink install = decklink.install diff --git a/01-fix-alloc_tty_driver.patch b/01-fix-alloc_tty_driver.patch new file mode 100644 index 000000000000..25f6729abbc3 --- /dev/null +++ b/01-fix-alloc_tty_driver.patch @@ -0,0 +1,112 @@ +*** a/blackmagic-io-12.2a12/bmio_serial.c 2021-11-10 13:53:06.486238131 +0100 +--- b/blackmagic-io-12.2a12/bmio_serial.c 2021-11-10 13:53:12.872862463 +0100 +*************** int bmio_serial_driver_init(void) +*** 304,310 **** + { + int ret; + +! struct tty_driver* serial = alloc_tty_driver(MAX_SERIAL_LINES); + if (!serial) + return -ENOMEM; + +--- 304,316 ---- + { + int ret; + +! struct tty_driver* serial; +! #if KERNEL_VERSION_OR_LATER(5, 15, 0) +! serial = tty_alloc_driver(MAX_SERIAL_LINES, 0); +! #else +! serial = alloc_tty_driver(MAX_SERIAL_LINES); +! #endif +! + if (!serial) + return -ENOMEM; + +*************** int bmio_serial_driver_init(void) +*** 324,330 **** +--- 330,340 ---- + ret = tty_register_driver(serial); + if (ret) + { ++ #if KERNEL_VERSION_OR_LATER(5, 15, 0) ++ tty_driver_kref_put(serial); ++ #else + put_tty_driver(serial); ++ #endif + return ret; + } + +*************** void bmio_serial_driver_exit(void) +*** 340,346 **** +--- 350,362 ---- + if (serial_driver) + { + tty_unregister_driver(serial_driver); ++ ++ #if KERNEL_VERSION_OR_LATER(5, 15, 0) ++ tty_driver_kref_put(serial_driver); ++ #else + put_tty_driver(serial_driver); ++ #endif ++ + serial_driver = NULL; + } + } + +*** a/blackmagic-12.2a12/blackmagic_serial.c 2021-11-10 13:52:55.462977861 +0100 +--- b/blackmagic-12.2a12/blackmagic_serial.c 2021-11-10 13:53:12.872862463 +0100 +*************** int __init blackmagic_serial_init(void) +*** 613,619 **** +--- 613,623 ---- + int ret; + struct tty_driver *driver; + ++ #if KERNEL_VERSION_OR_LATER(5, 15, 0) ++ driver = tty_alloc_driver(BLACKMAGIC_SERIAL_MINORS, 0); ++ #else + driver = alloc_tty_driver(BLACKMAGIC_SERIAL_MINORS); ++ #endif + if (!driver) + return -ENOMEM; + +*************** int __init blackmagic_serial_init(void) +*** 639,645 **** + + abort: + printk(KERN_ERR "failed to register blackmagic serial driver"); +! put_tty_driver(driver); + return ret; + } + +--- 643,653 ---- + + abort: + printk(KERN_ERR "failed to register blackmagic serial driver"); +! #if KERNEL_VERSION_OR_LATER(5, 15, 0) +! tty_driver_kref_put(driver); +! #else +! put_tty_driver(driver); +! #endif + return ret; + } + +*************** void __exit blackmagic_serial_exit(void) +*** 648,653 **** + if (blackmagic_tty_driver) + { + tty_unregister_driver(blackmagic_tty_driver); +! put_tty_driver(blackmagic_tty_driver); + } + } +--- 656,665 ---- + if (blackmagic_tty_driver) + { + tty_unregister_driver(blackmagic_tty_driver); +! #if KERNEL_VERSION_OR_LATER(5, 15, 0) +! tty_driver_kref_put(blackmagic_tty_driver); +! #else +! put_tty_driver(blackmagic_tty_driver); +! #endif + } + } @@ -3,7 +3,7 @@ pkgbase=decklink pkgname=(decklink mediaexpress) _pkgname=decklink pkgver=12.2 -pkgrel=0 +pkgrel=1 pkgdesc="Drivers for Blackmagic Design DeckLink, Intensity or Multibridge video editing cards" arch=('i686' 'x86_64') url="https://www.blackmagicdesign.com/support/family/capture-and-playback" @@ -29,8 +29,11 @@ DLAGENTS=("https::/usr/bin/curl \ )" ) -source=("${_pkgsrc_file}"::"${_pkgsrc_url}") -sha256sums=('62954a18b60d9040aa4a959dff30ac9c260218ef78d6a63cbb243788f7abc05f') +source=("${_pkgsrc_file}"::"${_pkgsrc_url}" + "01-fix-alloc_tty_driver.patch" + ) +sha256sums=('62954a18b60d9040aa4a959dff30ac9c260218ef78d6a63cbb243788f7abc05f' + 'ede66414652d5bb669bf32eb8aa870d8e91889db23919a454606daa1a4c2cd73') prepare() { cd $srcdir/Blackmagic_Desktop_Video_Linux_$pkgver/other/${_arch} @@ -39,11 +42,11 @@ prepare() { cd desktopvideo-*/usr/src - # for p in ${srcdir}/*.patch; - # do - # echo "Applying ${p}" - # patch --forward --strip=1 --input="${p}" - # done + for p in ${srcdir}/*.patch; + do + echo "Applying ${p}" + patch --forward --strip=1 --input="${p}" + done } |