mirror of
https://github.com/systemd/systemd
synced 2024-09-06 00:41:36 +00:00
![Zbigniew Jędrzejewski-Szmek](/assets/img/avatar_default.png)
Running the import more than once shouldn't matter, but it's a bit confusing and causes a slowdown too. This patch reworks the rules to avoid duplicted runs, but tries to keep the same imports. (E.g. import for pci devices without MODALIAS is only done for tty devices.) Note that this is only about hwdb import with argument, which uses MODALIAS as the lookup key. There are other imports done with different lookup keys.
93 lines
3.9 KiB
Plaintext
93 lines
3.9 KiB
Plaintext
# do not edit this file, it will be overwritten on update
|
|
|
|
# run a command on remove events
|
|
ACTION=="remove", ENV{REMOVE_CMD}!="", RUN+="$env{REMOVE_CMD}"
|
|
ACTION=="remove", GOTO="default_end"
|
|
|
|
SUBSYSTEM=="virtio-ports", KERNEL=="vport*", ATTR{name}=="?*", SYMLINK+="virtio-ports/$attr{name}"
|
|
|
|
# select "system RTC" or just use the first one
|
|
SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc"
|
|
SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100"
|
|
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb", GOTO="default_hwdb_imported"
|
|
ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}"
|
|
LABEL="default_hwdb_imported"
|
|
|
|
ACTION!="add", GOTO="default_end"
|
|
|
|
SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
|
|
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
|
|
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
|
|
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
|
|
KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
|
|
|
|
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
|
|
|
|
SUBSYSTEM=="input", GROUP="input"
|
|
SUBSYSTEM=="input", KERNEL=="js[0-9]*", MODE="0664"
|
|
|
|
SUBSYSTEM=="video4linux", GROUP="video"
|
|
SUBSYSTEM=="graphics", GROUP="video"
|
|
SUBSYSTEM=="drm", KERNEL!="renderD*", GROUP="video"
|
|
SUBSYSTEM=="dvb", GROUP="video"
|
|
SUBSYSTEM=="media", GROUP="video"
|
|
SUBSYSTEM=="cec", GROUP="video"
|
|
|
|
SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="@GROUP_RENDER_MODE@"
|
|
SUBSYSTEM=="kfd", GROUP="render", MODE="@GROUP_RENDER_MODE@"
|
|
|
|
# When using static_node= with non-default permissions, also update
|
|
# tmpfiles.d/static-nodes-permissions.conf.in to keep permissions synchronized.
|
|
|
|
SUBSYSTEM=="sound", GROUP="audio", \
|
|
OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer"
|
|
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0664"
|
|
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x00010*", GROUP="video"
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video"
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video"
|
|
SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video"
|
|
|
|
KERNEL=="parport[0-9]*", GROUP="lp"
|
|
SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp"
|
|
SUBSYSTEM=="ppdev", GROUP="lp"
|
|
KERNEL=="lp[0-9]*", GROUP="lp"
|
|
KERNEL=="irlpt[0-9]*", GROUP="lp"
|
|
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
|
|
|
|
SUBSYSTEM=="block", GROUP="disk"
|
|
SUBSYSTEM=="block", KERNEL=="sr[0-9]*", GROUP="cdrom"
|
|
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="4|5", GROUP="cdrom"
|
|
KERNEL=="sch[0-9]*", GROUP="cdrom"
|
|
KERNEL=="pktcdvd[0-9]*", GROUP="cdrom"
|
|
KERNEL=="pktcdvd", GROUP="cdrom"
|
|
|
|
SUBSYSTEM=="scsi_generic|scsi_tape", SUBSYSTEMS=="scsi", ATTRS{type}=="1|8", GROUP="tape"
|
|
SUBSYSTEM=="scsi_generic", SUBSYSTEMS=="scsi", ATTRS{type}=="0", GROUP="disk"
|
|
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
|
|
KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
|
|
KERNEL=="btrfs-control", GROUP="disk"
|
|
KERNEL=="rawctl", GROUP="disk"
|
|
SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", GROUP="disk"
|
|
SUBSYSTEM=="aoe", GROUP="disk", MODE="0220"
|
|
SUBSYSTEM=="aoe", KERNEL=="err", MODE="0440"
|
|
|
|
KERNEL=="rfkill", MODE="0664"
|
|
KERNEL=="tun", MODE="0666", OPTIONS+="static_node=net/tun"
|
|
|
|
KERNEL=="fuse", MODE="0666", OPTIONS+="static_node=fuse"
|
|
|
|
# The static_node is required on s390x and ppc (they are using MODULE_ALIAS)
|
|
KERNEL=="kvm", GROUP="kvm", MODE="@DEV_KVM_MODE@", OPTIONS+="static_node=kvm"
|
|
|
|
KERNEL=="udmabuf", GROUP="kvm"
|
|
|
|
SUBSYSTEM=="ptp", ATTR{clock_name}=="KVM virtual PTP", SYMLINK += "ptp_kvm"
|
|
|
|
LABEL="default_end"
|