summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extra/i2c_pseudo/50-i2c-pseudo.rules1
-rwxr-xr-xextra/i2c_pseudo/install8
2 files changed, 9 insertions, 0 deletions
diff --git a/extra/i2c_pseudo/50-i2c-pseudo.rules b/extra/i2c_pseudo/50-i2c-pseudo.rules
new file mode 100644
index 0000000000..22a4c8daf0
--- /dev/null
+++ b/extra/i2c_pseudo/50-i2c-pseudo.rules
@@ -0,0 +1 @@
+DEVPATH=="/devices/virtual/i2c-pseudo/*", GROUP="plugdev", MODE="0660"
diff --git a/extra/i2c_pseudo/install b/extra/i2c_pseudo/install
index f4fbecedc9..e66dcbd719 100755
--- a/extra/i2c_pseudo/install
+++ b/extra/i2c_pseudo/install
@@ -1,14 +1,22 @@
#!/bin/sh
#
# This attempts to build and install the i2c-pseudo Linux kernel module.
+# Installs a udev rule making i2c-pseudo devices read-write by users in plugdev.
set -e
+cd "$(dirname "$0")"
make clean
make
ret=0
sudo make modules_install || ret="$?"
+# Only install udev rule if plugdev group exists.
+if getent group plugdev > /dev/null; then
+ sudo cp -iv 50-i2c-pseudo.rules /etc/udev/rules.d/ \
+ || echo 1>&2 "NOTICE: Failed to copy udev rules file."
+fi
+
if [ "$ret" -eq 0 ]; then
make clean
sudo depmod -a