chiark / gitweb /
switch gentoo rules to new operators
[elogind.git] / etc / udev / gentoo / udev.rules
index 6a53e88d9d39ffe868ca225aca5df8337871b8e3..7136f6a4bb5a9e6f66bbd887f6f367ea10392392 100644 (file)
 #
 ###########################################################
 
+# all block devices
+SUBSYSTEM=="block", GROUP="disk"
+
 # cdrom symlinks and other good cdrom naming
-BUS="ide",  KERNEL="hd[a-z]",  PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
-BUS="scsi", KERNEL="sr[0-9]*",  PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
-BUS="scsi", KERNEL="scd[a-z]", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
+BUS=="ide",  KERNEL="hd[a-z]", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
+BUS=="scsi", KERNEL="sr[0-9]*", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
+BUS=="scsi", KERNEL="scd[a-z]", PROGRAM="/etc/udev/scripts/cdsymlinks.sh %k", SYMLINK="%c{1} %c{2} %c{3} %c{4} %c{5} %c{6}"
 
 # devfs-names for ide-devices (uncomment only one)
 #  /dev/ide/.../{disc,cd} and /dev/{cdroms,discs}/* type names
-BUS="ide", KERNEL="hd*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}", GROUP="%c{3}"
+BUS=="ide", KERNEL="hd*", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", NAME="%k", SYMLINK="%c{1} %c{2}", GROUP="%c{3}"
+
+# disk devices
+KERNEL=="sd*",         NAME="%k", GROUP="disk"
+KERNEL=="dasd*",       NAME="%k", GROUP="disk"
+KERNEL=="ataraid*",    NAME="%k", GROUP="disk"
+
+# compaq smart array
+KERNEL=="cciss*",      PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", NAME="%c{1}", SYMLINK+="%k"
+KERNEL=="ida*",                PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", NAME="%c{1}", SYMLINK+="%k"
+
+# mylex
+KERNEL=="rd*",         PROGRAM="/etc/udev/scripts/raid-devfs.sh %k", NAME="%c{1}", SYMLINK+="%k"
 
 # dri devices
-KERNEL="card*",                NAME="dri/card%n"
+KERNEL=="card*",       NAME="dri/card%n", GROUP="video"
+KERNEL=="nvidia*",     NAME="%k", GROUP="video"
+KERNEL=="3dfx*",       NAME="%k", GROUP="video"
 
 # alsa devices
-KERNEL="controlC[0-9]*", NAME="snd/%k"
-KERNEL="hw[CD0-9]*",    NAME="snd/%k"
-KERNEL="pcm[CD0-9cp]*",         NAME="snd/%k"
-KERNEL="midiC[D0-9]*",  NAME="snd/%k"
-KERNEL="timer",                 NAME="snd/%k"
-KERNEL="seq",           NAME="snd/%k"
+SUBSYSTEM=="sound", GROUP="audio"
+KERNEL=="controlC[0-9]*",      NAME="snd/%k"
+KERNEL=="hw[CD0-9]*",          NAME="snd/%k"
+KERNEL=="pcm[CD0-9cp]*",       NAME="snd/%k"
+KERNEL=="midiC[D0-9]*",                NAME="snd/%k"
+KERNEL=="timer",               NAME="snd/%k"
+KERNEL=="seq",                 NAME="snd/%k"
 
 # capi devices
-KERNEL="capi",         NAME="capi20", SYMLINK="isdn/capi20"
-KERNEL="capi*",                NAME="capi/%n"
+KERNEL=="capi",                NAME="capi20", SYMLINK+="isdn/capi20", GROUP="dialout"
+KERNEL=="capi*",       NAME="capi/%n", GROUP="dialout"
 
 # cpu devices
-KERNEL="cpu[0-9]*",    NAME="cpu/%n/cpuid"
-KERNEL="msr[0-9]*",    NAME="cpu/%n/msr"
-KERNEL="microcode",    NAME="cpu/microcode"
+KERNEL=="cpu[0-9]*",   NAME="cpu/%n/cpuid"
+KERNEL=="msr[0-9]*",   NAME="cpu/%n/msr"
+KERNEL=="microcode",   NAME="cpu/microcode"
 
 # dm devices (ignore them)
-KERNEL="dm-[0-9]*",    NAME=""
+KERNEL=="dm-[0-9]*",   OPTIONS="ignore_device"
 # create a symlink named after the device map name
 # note devmap_name comes with extras/multipath
-#KERNEL="dm-[0-9]*",   PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK="%c"
-KERNEL="device-mapper",        NAME="mapper/control"
+#KERNEL=="dm-[0-9]*",  PROGRAM="/sbin/devmap_name %M %m", NAME="%k", SYMLINK+="%c"
+KERNEL=="device-mapper",       NAME="mapper/control"
 
 # fb devices
-KERNEL="fb[0-9]*",     NAME="fb/%n", SYMLINK="%k"
+KERNEL=="fb[0-9]*",    NAME="fb/%n", SYMLINK+="%k", GROUP="video"
 
 # floppy devices
-KERNEL="fd[0-9]*",     NAME="floppy/%n", SYMLINK="%k"
+KERNEL=="fd[0-9]*",    NAME="floppy/%n", SYMLINK+="%k", GROUP="floppy"
 
 # i2c devices
-KERNEL="i2c-[0-9]*",   NAME="i2c/%n", SYMLINK="%k"
+KERNEL=="i2c-[0-9]*",  NAME="i2c/%n", SYMLINK+="%k"
 
 # input devices
-KERNEL="mice",         NAME="input/%k"
-KERNEL="mouse*",       NAME="input/%k"
-KERNEL="event*",       NAME="input/%k"
-KERNEL="js*",          NAME="input/%k"
-KERNEL="ts*",          NAME="input/%k"
+KERNEL=="mice",                NAME="input/%k", MODE="0644"
+KERNEL=="mouse*",      NAME="input/%k", MODE="0644"
+KERNEL=="event*",      NAME="input/%k", MODE="0600"
+KERNEL=="js*",         NAME="input/%k", MODE="664"
+KERNEL=="ts*",         NAME="input/%k", MODE="0600"
 
 # loop devices
-KERNEL="loop[0-9]*",   NAME="loop/%n", SYMLINK="%k"
+KERNEL=="loop[0-9]*",  NAME="loop/%n", SYMLINK+="%k", GROUP="disk"
 
 # md block devices
-KERNEL="md[0-9]*",     NAME="md/%n", SYMLINK="%k"
+KERNEL=="md[0-9]*",    NAME="md/%n", SYMLINK+="%k", GROUP="disk"
+
+# aoe char devices,
+SUBSYSTEM=="aoe", KERNEL=="discover",  NAME="etherd/%k", GROUP="disk", MODE="0220"
+SUBSYSTEM=="aoe", KERNEL=="err",       NAME="etherd/%k", GROUP="disk", MODE="0440"
+SUBSYSTEM=="aoe", KERNEL=="interfaces",        NAME="etherd/%k", GROUP="disk", MODE="0220"
 
 # misc devices
-KERNEL="agpgart",      NAME="misc/%k", SYMLINK="%k"
-KERNEL="psaux",                NAME="misc/%k", SYMLINK="%k"
-KERNEL="rtc",          NAME="misc/%k", SYMLINK="%k"
-KERNEL="uinput",       NAME="misc/%k", SYMLINK="%k"
-KERNEL="inotify",      NAME="misc/%k", SYMLINK="%k"
+KERNEL=="agpgart",     NAME="misc/%k", SYMLINK+="%k"
+KERNEL=="psaux",       NAME="misc/%k", SYMLINK+="%k"
+KERNEL=="rtc",         NAME="misc/%k", SYMLINK+="%k", MODE="0664"
+KERNEL=="uinput",      NAME="misc/%k", SYMLINK+="%k"
+KERNEL=="inotify",     NAME="misc/%k", SYMLINK+="%k", MODE="0666"
 
 # netlink devices
-KERNEL="route",                NAME="netlink/%k"
-KERNEL="skip",         NAME="netlink/%k"
-KERNEL="usersock",     NAME="netlink/%k"
-KERNEL="fwmonitor",    NAME="netlink/%k"
-KERNEL="tcpdiag",      NAME="netlink/%k"
-KERNEL="nflog",                NAME="netlink/%k"
-KERNEL="xfrm",         NAME="netlink/%k"
-KERNEL="arpd",         NAME="netlink/%k"
-KERNEL="route6",       NAME="netlink/%k"
-KERNEL="ip6_fw",       NAME="netlink/%k"
-KERNEL="dnrtmsg",      NAME="netlink/%k"
-KERNEL="tap*",         NAME="netlink/%k"
+KERNEL=="route",       NAME="netlink/%k"
+KERNEL=="skip",                NAME="netlink/%k"
+KERNEL=="usersock",    NAME="netlink/%k"
+KERNEL=="fwmonitor",   NAME="netlink/%k"
+KERNEL=="tcpdiag",     NAME="netlink/%k"
+KERNEL=="nflog",       NAME="netlink/%k"
+KERNEL=="xfrm",                NAME="netlink/%k"
+KERNEL=="arpd",                NAME="netlink/%k"
+KERNEL=="route6",      NAME="netlink/%k"
+KERNEL=="ip6_fw",      NAME="netlink/%k"
+KERNEL=="dnrtmsg",     NAME="netlink/%k"
+KERNEL=="tap*",                NAME="netlink/%k"
 
 # network devices
-KERNEL="tun",          NAME="net/%k"
-
-# pty devices
-KERNEL="pty[p-za-e][0-9a-f]*", NAME="pty/m%n", SYMLINK="%k"
-KERNEL="tty[p-za-e][0-9a-f]*", NAME="pty/s%n", SYMLINK="%k"
+KERNEL=="tun",         NAME="net/%k"
 
 # ramdisk devices
-KERNEL="ram[0-9]*",    NAME="rd/%n", SYMLINK="%k"
+KERNEL=="ram[0-9]*",   NAME="rd/%n", SYMLINK+="%k"
 
 # raw devices
-KERNEL="raw[0-9]*",    NAME="raw/%k"
+KERNEL=="raw[0-9]*",   NAME="raw/%k", GROUP="disk"
+KERNEL=="ram*",                NAME="%k", GROUP="disk"
 
 # sound devices
-KERNEL="adsp",           NAME="sound/%k", SYMLINK="%k"
-KERNEL="adsp[0-9]*",     NAME="sound/%k", SYMLINK="%k"
-KERNEL="audio",                  NAME="sound/%k", SYMLINK="%k"
-KERNEL="audio[0-9]*",    NAME="sound/%k", SYMLINK="%k"
-KERNEL="dsp",            NAME="sound/%k", SYMLINK="%k"
-KERNEL="dsp[0-9]*",      NAME="sound/%k", SYMLINK="%k"
-KERNEL="mixer",                  NAME="sound/%k", SYMLINK="%k"
-KERNEL="mixer[0-9]*",    NAME="sound/%k", SYMLINK="%k"
-KERNEL="sequencer",      NAME="sound/%k", SYMLINK="%k"
-KERNEL="sequencer[0-9]*", NAME="sound/%k", SYMLINK="%k"
+KERNEL=="adsp",                        NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="adsp[0-9]*",          NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="audio",               NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="audio[0-9]*",         NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="dsp",                 NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="dsp[0-9]*",           NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="mixer",               NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="mixer[0-9]*",         NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="sequencer",           NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
+KERNEL=="sequencer[0-9]*",     NAME="sound/%k", SYMLINK+="%k", GROUP="audio"
 
 # tty devices
-KERNEL="tty[0-9]*",    NAME="vc/%n",  SYMLINK="%k"
-KERNEL="ttyS[0-9]*",   NAME="tts/%n", SYMLINK="%k"
-KERNEL="ttyUSB[0-9]*", NAME="tts/USB%n"
+KERNEL=="console",     NAME="%k", GROUP="tty", MODE="0600"
+KERNEL=="tty",         NAME="%k", GROUP="tty", MODE="0666"
+KERNEL=="tty[0-9]*",   NAME="vc/%n", SYMLINK="%k", GROUP="tty"
+KERNEL=="ttyS[0-9]*",  NAME="tts/%n", SYMLINK="%k", GROUP="tty"
+KERNEL=="ttyUSB[0-9]*",        NAME="tts/USB%n", GROUP="tty", MODE="0660"
+KERNEL=="ippp0",       NAME="%k", GROUP="tty"
+KERNEL=="isdn*"                NAME="%k", GROUP="tty"
+KERNEL=="dcbri*",      NAME="%k", GROUP="tty"
+KERNEL=="ircomm*",     NAME="%k", GROUP="tty"
 
-# usb devices
-KERNEL="hiddev*",              NAME="usb/%k"
-KERNEL="auer*",                        NAME="usb/%k"
-KERNEL="legousbtower*",                NAME="usb/%k"
-KERNEL="dabusb*",              NAME="usb/%k"
-BUS="usb", KERNEL="lp[0-9]*",  NAME="usb/%k"
+# pty devices
+KERNEL=="ptmx",                        NAME="%k", GROUP="tty", MODE="0666"
+KERNEL=="pty[p-za-e][0-9a-f]*",        NAME="pty/m%n", SYMLINK+="%k", GROUP="tty"
+KERNEL=="tty[p-za-e][0-9a-f]*",        NAME="pty/s%n", SYMLINK+="%k", GROUP="tty"
 
 # vc devices
-KERNEL="vcs",          NAME="vcc/0",   SYMLINK="%k"
-KERNEL="vcs[0-9]*",    NAME="vcc/%n",  SYMLINK="%k"
-KERNEL="vcsa",         NAME="vcc/a0",  SYMLINK="%k"
-KERNEL="vcsa[0-9]*",   NAME="vcc/a%n", SYMLINK="%k"
+KERNEL=="vcs",         NAME="vcc/0",   SYMLINK+="%k", GROUP="tty"
+KERNEL=="vcs[0-9]*",   NAME="vcc/%n",  SYMLINK+="%k", GROUP="tty"
+KERNEL=="vcsa",                NAME="vcc/a0",  SYMLINK+="%k", GROUP="tty"
+KERNEL=="vcsa[0-9]*",  NAME="vcc/a%n", SYMLINK+="%k", GROUP="tty"
+
+# memory devices
+KERNEL=="random",      NAME="%k", MODE="0666"
+KERNEL=="urandom",     NAME="%k", MODE="0444"
+KERNEL=="mem",         NAME="%k", MODE="0640"
+KERNEL=="kmem",                NAME="%k", MODE="0640"
+KERNEL=="port",                NAME="%k", MODE="0640"
+KERNEL=="full",                NAME="%k", MODE="0666"
+KERNEL=="null",                NAME="%k", MODE="0666"
+KERNEL=="zero",                NAME="%k", MODE="0666"
+
+# usb devices
+KERNEL=="hiddev*",             NAME="usb/%k"
+KERNEL=="auer*",               NAME="usb/%k"
+KERNEL=="legousbtower*",       NAME="usb/%k", GROUP="usb"
+KERNEL=="dabusb*",             NAME="usb/%k"
+BUS=="usb", KERNEL=="lp[0-9]*",        NAME="usb/%k", GROUP="lp"
 
 # v4l devices
-KERNEL="video[0-9]*",  NAME="v4l/video%n",     SYMLINK="video%n"
-KERNEL="radio[0-9]*",  NAME="v4l/radio%n"
-KERNEL="vbi[0-9]*",    NAME="v4l/vbi%n",       SYMLINK="vbi%n"
-KERNEL="vtx[0-9]*",    NAME="v4l/vtx%n"
-
-# Asterix Zaptel devices
-KERNEL="zapctl",       NAME="zap/ctl"
-KERNEL="zaptimer",     NAME="zap/timer"
-KERNEL="zapchannel",   NAME="zap/channel"
-KERNEL="zappseudo",    NAME="zap/pseudo"
-KERNEL="zap[0-9]*",    NAME="zap/%n"
+KERNEL=="video[0-9]*", NAME="v4l/video%n", SYMLINK+="video%n", GROUP="video"
+KERNEL=="radio[0-9]*", NAME="v4l/radio%n", GROUP="video"
+KERNEL=="vbi[0-9]*",   NAME="v4l/vbi%n", SYMLINK+="vbi%n", GROUP="video"
+KERNEL=="vtx[0-9]*",   NAME="v4l/vtx%n", GROUP="video"
+
+# dvb devices
+KERNEL=="dvb*", PROGRAM="/etc/udev/scripts/dvb.sh %k", NAME="%c", GROUP="video", MODE="0660"
+
+# Asterisk Zaptel devices
+KERNEL=="zapctl",      NAME="zap/ctl"
+KERNEL=="zaptimer",    NAME="zap/timer"
+KERNEL=="zapchannel",  NAME="zap/channel"
+KERNEL=="zappseudo",   NAME="zap/pseudo"
+KERNEL=="zap[0-9]*",   NAME="zap/%n"
+
+# pilot/palm devices
+KERNEL=="pilot",       NAME="%k", GROUP="uucp"
+
+# jaz devices
+KERNEL=="jaz*",                NAME="%k", GROUP="disk"
+
+# zip devices
+KERNEL=="pocketzip*",  NAME="%k", GROUP="disk"
+KERNEL=="zip*",                NAME="%k", GROUP="disk"
+
+# ls120 devices
+KERNEL=="ls120",       NAME="%k", GROUP="disk"
+
+# lp devices
+KERNEL=="lp*",         NAME="%k", GROUP="lp"
+KERNEL=="irlpt",       NAME="%k", GROUP="lp"
+KERNEL=="usblp",       NAME="%k", GROUP="lp"
+KERNEL=="lp*",         NAME="%k", GROUP="lp"
+
+# tape devices
+KERNEL=="ht*",         NAME="%k", GROUP="tape"
+KERNEL=="nht*",                NAME="%k", GROUP="tape"
+KERNEL=="pt*",         NAME="%k", GROUP="tape"
+KERNEL=="npt*",                NAME="%k", GROUP="tape"
+KERNEL=="st*",         NAME="%k", GROUP="tape"
+KERNEL=="nst*",                NAME="%k", GROUP="tape"
+KERNEL=="osst*",       NAME="%k", GROUP="tape"
+KERNEL=="nosst*",      NAME="%k", GROUP="tape"
+
+# diskonkey devices
+KERNEL=="diskonkey*",  NAME="%k", GROUP="disk"
+
+# rem_ide devices
+KERNEL=="microdrive*", NAME="%k", GROUP="disk"
+
+# kbd devices
+KERNEL=="kbd",         NAME="%k", MODE="0664"
+
+# Sony Vaio Jogdial sonypi device
+KERNEL=="sonypi",      NAME="%k", MODE="0666"
+
+# packet devices
+KERNEL=="pktcdvd",             NAME="pktcdvd/control", GROUP="cdrw", MODE="0660"
+KERNEL=="pktcdvd[0-9]*",       NAME="pktcdvd/pktcdvd%n", GROUP="cdrw", MODE="0660"
+
+# infiniband devices
+KERNEL=="umad*",       NAME="infiniband/%k"
+KERNEL=="issm*",       NAME="infiniband/%k"
+
+# tpm devices
+KERNEL=="tpm*",        NAME="%k", OWNER="tss", GROUP="tss", MODE="0600"
+
+# firewire devices
+KERNEL="raw1394", NAME="%k"
+KERNEL="dv1394*", NAME="dv1394/%n"
+KERNEL="video1394*", NAME="video1394/%n"
+
+# be backward compatible for a while with the /etc/dev.d and /etc/hotplug.d/ systems
+# run hotplug.d/ stuff only if we came from a hotplug event, not for udevstart
+ENV{UDEVD_EVENT}=="1", RUN+="/sbin/udev_run_hotplugd"
+
+# always run dev.d/ stuff for now.
+RUN+="/sbin/udev_run_devd"