rules: add rule to generate unique symlinks for gpio devices

Regular generated paths make it hard to identify individual GPIO
devices. This is a challenge when using multiple USB-to-GPIO adapters
like Diolan DLN2.

The unique symlinks from this rule can be used, e.g., with gpiod tools.
This commit is contained in:
Gero Schwäricke
2025-11-07 16:09:17 +01:00
committed by Yu Watanabe
parent 9485379850
commit 032ea7ca12
2 changed files with 18 additions and 0 deletions

17
rules.d/60-gpiochip.rules Normal file
View File

@@ -0,0 +1,17 @@
# do not edit this file, it will be overwritten on update
ACTION=="remove", GOTO="gpiochip_end"
SUBSYSTEM!="gpio", GOTO="gpiochip_end"
KERNEL!="gpiochip[0-9]*", GOTO="gpiochip_end"
IMPORT{builtin}="path_id"
ENV{ID_PATH_WITH_USB_REVISION}=="?*", SYMLINK+="gpio/by-path/$env{ID_PATH_WITH_USB_REVISION}"
SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"
ENV{ID_BUS}=="", GOTO="gpiochip_end"
ENV{ID_SERIAL}=="", GOTO="gpiochip_end"
ENV{ID_USB_INTERFACE_NUM}=="", GOTO="gpiochip_end"
SYMLINK+="gpio/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_USB_INTERFACE_NUM}"
LABEL="gpiochip_end"

View File

@@ -12,6 +12,7 @@ rules = [
'60-drm.rules',
'60-evdev.rules',
'60-fido-id.rules',
'60-gpiochip.rules',
'60-infiniband.rules',
'60-input-id.rules',
'60-persistent-alsa.rules',