summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmil Suleymanov2022-05-26 14:41:22 +0200
committerEmil Suleymanov2022-05-26 14:41:22 +0200
commitb7d2dbf948dd4cab85138a0c218a0cf84e83a1ff (patch)
treec074056ecb9b42e76fa8761337057908b7e9c7d7
parent1eced10a742eabc21d326881245891ad66f79a5c (diff)
downloadaur-b7d2dbf948dd4cab85138a0c218a0cf84e83a1ff.tar.gz
Automatically setup spi devices
-rw-r--r--.SRCINFO6
-rw-r--r--50-spi_ch341_usb.rules1
-rw-r--r--PKGBUILD18
-rwxr-xr-xspi_ch341_usb_setup.sh5
4 files changed, 26 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bfea810efc6b..fe5b00d6727c 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,14 +1,18 @@
pkgbase = spi-ch341-usb-dkms
pkgdesc = SPI/GPIO driver for CH341
pkgver = r45.cfb61d0
- pkgrel = 1
+ pkgrel = 2
url = https://github.com/rogerjames99/spi-ch341-usb
arch = any
license = GPL
makedepends = git
source = git+https://github.com/rogerjames99/spi-ch341-usb.git
source = 0001-Arch-compatible-paths-for-kernel-headers-modules.patch
+ source = 50-spi_ch341_usb.rules
+ source = spi_ch341_usb_setup.sh
sha256sums = SKIP
sha256sums = 75041421dbbf41b35c8f7a3992d601ca304c129ca9b9f348d575c57999f3cbc0
+ sha256sums = f17a1941b599fdae84584be239905c76a81dbc17d4ed575c0b134112c6da2982
+ sha256sums = 41f03bfd96efed8b968ef1f695f18121cdbbc6af27212060a30274f1a1984544
pkgname = spi-ch341-usb-dkms
diff --git a/50-spi_ch341_usb.rules b/50-spi_ch341_usb.rules
new file mode 100644
index 000000000000..e96cffa30850
--- /dev/null
+++ b/50-spi_ch341_usb.rules
@@ -0,0 +1 @@
+ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1a86", ATTR{idProduct}=="5512", RUN+="/usr/local/bin/spi_ch341_usb_setup.sh"
diff --git a/PKGBUILD b/PKGBUILD
index aa569d8e112c..bc6bde2ee4a9 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@ pkgver() {
cd "$srcdir/spi-ch341-usb"
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
-pkgrel=1
+pkgrel=2
pkgdesc="SPI/GPIO driver for CH341"
arch=(any)
url="https://github.com/rogerjames99/spi-ch341-usb"
@@ -13,9 +13,13 @@ groups=()
depends=()
makedepends=('git')
source=('git+https://github.com/rogerjames99/spi-ch341-usb.git'
- '0001-Arch-compatible-paths-for-kernel-headers-modules.patch')
+ '0001-Arch-compatible-paths-for-kernel-headers-modules.patch'
+ '50-spi_ch341_usb.rules'
+ 'spi_ch341_usb_setup.sh')
sha256sums=('SKIP'
- '75041421dbbf41b35c8f7a3992d601ca304c129ca9b9f348d575c57999f3cbc0')
+ '75041421dbbf41b35c8f7a3992d601ca304c129ca9b9f348d575c57999f3cbc0'
+ 'f17a1941b599fdae84584be239905c76a81dbc17d4ed575c0b134112c6da2982'
+ '41f03bfd96efed8b968ef1f695f18121cdbbc6af27212060a30274f1a1984544')
prepare() {
cd "$srcdir"/spi-ch341-usb
@@ -25,6 +29,14 @@ prepare() {
package() {
install -dm0755 "${pkgdir}"/usr/src
+ mkdir -p "${pkgdir}"/etc/udev/rules.d/
+ mkdir -p "${pkgdir}"/usr/local/bin/
+ cp -a "${srcdir}"/../50-spi_ch341_usb.rules "${pkgdir}"/etc/udev/rules.d/
+ cp -a "${srcdir}"/../spi_ch341_usb_setup.sh "${pkgdir}"/usr/local/bin/
cp -a "${srcdir}"/spi-ch341-usb "${pkgdir}"/usr/src/spi-ch341-usb-$pkgver
sed -i "s|PACKAGE_VERSION=\".*\"|PACKAGE_VERSION=\"$pkgver\"|" "${pkgdir}"/usr/src/spi-ch341-usb-$pkgver/dkms.conf
}
+
+post_install() {
+ udevadm control --reload-rules
+}
diff --git a/spi_ch341_usb_setup.sh b/spi_ch341_usb_setup.sh
new file mode 100755
index 000000000000..4247e4fd3f5b
--- /dev/null
+++ b/spi_ch341_usb_setup.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+for i in /sys/bus/usb/drivers/spi-ch341-usb/*/spi_master/spi*/spi*.*; do
+ echo spidev > $i/driver_override; echo $(basename $i) > /sys/bus/spi/drivers/spidev/bind
+done