diff options
author | Excalibur | 2023-01-10 17:16:53 +0800 |
---|---|---|
committer | Excalibur | 2023-01-10 17:16:53 +0800 |
commit | 33de09c7165f49438fd3c362d9d055371b4ebc7e (patch) | |
tree | 0f487e93611ab2436a244ad8de8900a577d92196 | |
download | aur-33de09c7165f49438fd3c362d9d055371b4ebc7e.tar.gz |
Initial commit
-rw-r--r-- | .SRCINFO | 21 | ||||
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | PKGBUILD | 42 | ||||
-rw-r--r-- | dkms.conf | 7 | ||||
-rw-r--r-- | fix-incompatible-pointer-types.patch | 22 |
5 files changed, 96 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..23b6bba8bf19 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,21 @@ +pkgbase = ch9344-dkms + pkgdesc = Kernel module for CH9344/CH348 + pkgver = 1.9 + pkgrel = 1 + url = https://www.wch.cn/downloads/CH9344SER_LINUX_ZIP.html + arch = any + license = unknown + makedepends = unzip + depends = dkms + optdepends = linux-headers: Build the module for Arch kernel + optdepends = linux-lts-headers: Build the module for LTS Arch kernel + conflicts = ch9344 + noextract = CH9344SER_LINUX-1.9.ZIP + source = CH9344SER_LINUX-1.9.ZIP::https://www.wch.cn/downloads/file/386.html + source = dkms.conf + source = fix-incompatible-pointer-types.patch + sha256sums = 2eb9bfb6a4e61834dc89565ef7f7b05abba77299ee05c98103a0eb85f2fb50e2 + sha256sums = ad4c67e0c74661d19b74872f98254184d4b04e32e4c57b338a84fbcefa4c721f + sha256sums = 70fce0063774e6a9df1c73666b352723aeea5f37371dfaaf551926b80256b7a8 + +pkgname = ch9344-dkms diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..9bdf47172b8a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/pkg +/src +/*.pkg.* +/*.ZIP
\ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..b500f9845347 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,42 @@ +# Maintainer: Excalibur <saberconer@gmail.com> + +_pkgname=ch9344 +pkgname=${_pkgname}-dkms +pkgver=1.9 +pkgrel=1 +url="https://www.wch.cn/downloads/CH9344SER_LINUX_ZIP.html" +pkgdesc="Kernel module for CH9344/CH348" +license=('unknown') +arch=('any') +depends=('dkms') +makedepends=('unzip') +conflicts=("${_pkgname}") +optdepends=('linux-headers: Build the module for Arch kernel' + 'linux-lts-headers: Build the module for LTS Arch kernel') +source=("CH9344SER_LINUX-$pkgver.ZIP::https://www.wch.cn/downloads/file/386.html" + 'dkms.conf' + 'fix-incompatible-pointer-types.patch') +noextract=("CH9344SER_LINUX-$pkgver.ZIP") +sha256sums=('2eb9bfb6a4e61834dc89565ef7f7b05abba77299ee05c98103a0eb85f2fb50e2' + 'ad4c67e0c74661d19b74872f98254184d4b04e32e4c57b338a84fbcefa4c721f' + '70fce0063774e6a9df1c73666b352723aeea5f37371dfaaf551926b80256b7a8') + +prepare() { + cd "$srcdir" + unzip -o "CH9344SER_LINUX-$pkgver.ZIP" + patch LINUX/driver/ch9344.c fix-incompatible-pointer-types.patch +} + +build() { + : +} + +package() { + dir_name="${_pkgname}-${pkgver}" + install -d "${pkgdir}"/usr/src/${dir_name}/ + install -Dm644 dkms.conf "$srcdir"/LINUX/driver/* "${pkgdir}/usr/src/${dir_name}/" + + sed -e "s/@_PKGNAME@/${_pkgname}/g" \ + -e "s/@PKGVER@/${pkgver}/g" \ + -i "${pkgdir}/usr/src/${dir_name}/dkms.conf" +} diff --git a/dkms.conf b/dkms.conf new file mode 100644 index 000000000000..36fba1662253 --- /dev/null +++ b/dkms.conf @@ -0,0 +1,7 @@ +PACKAGE_NAME="@_PKGNAME@" +PACKAGE_VERSION="@PKGVER@" +MAKE[0]="make -C $kernel_source_dir M=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build modules" +CLEAN="make -C $kernel_source_dir M=$dkms_tree/$PACKAGE_NAME/$PACKAGE_VERSION/build clean" +BUILT_MODULE_NAME[0]="@_PKGNAME@" +DEST_MODULE_LOCATION[0]="/kernel/drivers/tty/serial" +AUTOINSTALL="yes" diff --git a/fix-incompatible-pointer-types.patch b/fix-incompatible-pointer-types.patch new file mode 100644 index 000000000000..31088538733e --- /dev/null +++ b/fix-incompatible-pointer-types.patch @@ -0,0 +1,22 @@ +diff --git a/ch9344.c b/ch9344.c +index 1e37293..a16af82 100644 +--- a/ch9344.c ++++ b/ch9344.c +@@ -79,7 +79,7 @@ static DEFINE_IDR(ch9344_minors); + static DEFINE_MUTEX(ch9344_minors_lock); + + static void ch9344_tty_set_termios(struct tty_struct *tty, +- struct ktermios *termios_old); ++ const struct ktermios *termios_old); + + static int ch9344_get_portnum(int index); + +@@ -1597,7 +1597,7 @@ u8 cal_recv_tmt(__le32 bd) + } + + static void ch9344_tty_set_termios(struct tty_struct *tty, +- struct ktermios *termios_old) ++ const struct ktermios *termios_old) + { + struct ch9344 *ch9344 = tty->driver_data; + struct ktermios *termios = &tty->termios; |