# /etc/udev/udev.rules: device naming rules for udev
-# $Header: /home/cvsroot/gentoo-x86/sys-fs/udev/files/udev.rules,v 1.1 2003/12/26 23:32:44 azarah Exp $
#
-# There are a number of modifiers that are allowed to be used in the NAME or PROGRAM fields.
-# They provide the following subsitutions:
-# %n - the "kernel number" of the device.
-# for example, 'sda3' has a "kernel number" of '3'
-# %k - the kernel name for the device.
-# %M - the kernel major number for the device
-# %m - the kernel minor number for the device
-# %b - the bus id for the device
-# %c - the return value of the external PROGRAM (note, this doesn't work within
-# the PROGRAM field for the obvious reason.)
+# Gentoo specific rules, based a bit on devfs rules, but much simpler.
#
+# There are a number of modifiers that are allowed to be used in some of the
+# fields. See the udev man page for a full description of them.
+
###########################################################
#
-# Add your own rules here
+# For devfs similar /dev layout (neater)
#
###########################################################
-# Looking for scsi bus id 42:0:0:1
-BUS="scsi", PROGRAM="/bin/echo -n test-%b", RESULT="test-42:0:0:1", NAME="%c"
-
-# A usb camera.
-BUS="usb", SYSFS{vendor}="FUJIFILM", SYSFS{model}="M100", NAME="camera%n"
-
-# USB Epson printer to be called lp_epson
-BUS="usb", SYSFS{serial}="HXOLL0012202323480", NAME="lp_epson"
-
-# USB HP printer to be called lp_hp
-BUS="usb", SYSFS{serial}="W09090207101241330", NAME="lp_hp"
-
-# sound card with PCI bus id 00:0b.0 to be the first sound card
-BUS="pci", ID="00:0b.0", NAME="dsp"
+# 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}"
-# sound card with PCI bus id 00:07.1 to be the second sound card
-BUS="pci", ID="00:07.1", NAME="dsp1"
+# DRI devices
+KERNEL="card*", NAME="dri/card%n"
-# USB mouse plugged into the third port of the first hub to be called mouse0
-BUS="usb", PLACE="1.3", NAME="mouse0"
+# 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"
-# USB tablet plugged into the third port of the second hub to be called mouse1
-BUS="usb", PLACE="2.3", NAME="mouse1"
-BUS="usb", PLACE="2.4", NAME="mouse2"
+# dm devices (ignore them)
+KERNEL="dm-[0-9]*", NAME=""
+# 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"
-# ttyUSB1 should always be called visor
-KERNEL="ttyUSB1", NAME="visor"
-KERNEL="ttyUSB0", NAME="pl2303"
+# fb devices
+KERNEL="fb[0-9]*", NAME="fb/%n", SYMLINK="%k"
+# floppy devices
+KERNEL="fd[0-9]*", NAME="floppy/%n", SYMLINK="%k"
-###########################################################
-#
-# For devfs similar /dev layout (neater)
-#
-###########################################################
+# i2c devices
+KERNEL="i2c-[0-9]*", NAME="i2c/%n", SYMLINK="%k"
-# devfs-names for ide-devices (uncomment only one)
-# /dev/ide/.../{disc,cd} and /dev/{cdroms,discs}/* type names
-BUS="ide", PROGRAM="/etc/udev/scripts/ide-devfs.sh %k %b %n", RESULT="hd*", NAME="%1c", SYMLINK="%2c %3c"
-
-# fb devices
-KERNEL="fb[0-9]*", NAME="fb/%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"
# loop devices
KERNEL="loop[0-9]*", NAME="loop/%n", SYMLINK="%k"
# md block devices
KERNEL="md[0-9]*", NAME="md/%n", SYMLINK="%k"
+# misc devices
+KERNEL="agpgart", NAME="misc/%k", SYMLINK="%k"
+KERNEL="microcode", 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"
+
# 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="tty/s%n", SYMLINK="%k"
-# ram devices
+# ramdisk devices
KERNEL="ram[0-9]*", NAME="rd/%n", SYMLINK="%k"
+# 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"
+
# tty devices
-KERNEL="tty[0-9]*", NAME="vc/%n", SYMLINK="%k"
-KERNEL="ttyS[0-9]*", NAME="tts/%n", SYMLINK="%k"
+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"
# 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="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"
# v4l devices
KERNEL="vbi[0-9]*", NAME="v4l/vbi%n"
KERNEL="vtx[0-9]*", NAME="v4l/vtx%n"
-# dm devices (ignore them)
-KERNEL="dm-[0-9]*", NAME=""
-
-# i2c devices
-KERNEL="i2c-[0-9]*", NAME="i2c/%n", SYMLINK="%k"
-
-# loop devices
-KERNEL="loop[0-9]*", NAME="loop/%n", SYMLINK="%k"
-
-# framebuffer devices
-KERNEL="fb[0-9]*", NAME="fb/%n", SYMLINK="%k"
-
-# misc devices
-KERNEL="rtc", NAME="misc/%k", SYMLINK="%k"
-KERNEL="psaux", NAME="misc/%k", SYMLINK="%k"
-
-# alsa devices
-KERNEL="controlC[0-9]*", NAME="snd/%k"
-KERNEL="hw[CD0-9]*", NAME="snd/%k"
-KERNEL="pcm[CD0-9cp]*", NAME="snd/%k"
-KERNEL="midi[CD0-9]*", NAME="snd/%k"
-KERNEL="timer", NAME="snd/%k"
-KERNEL="seq", NAME="snd/%k"
-
+# 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"
+
+# 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"
+
+# CAPI devices
+KERNEL="capi", NAME="capi20", SYMLINK="isdn/capi20"
+KERNEL="capi*", NAME="capi/%n"
+
+# Network devices
+KERNEL="tun", NAME="net/%k"
+
+# raw devices
+KERNEL="raw[0-9]*", NAME="raw/%k"
+
+# cpu devices
+KERNEL="cpu[0-9]*", NAME="cpu/%n/cpuid"
+KERNEL="msr[0-9]*", NAME="cpu/%n/cpuid"
+KERNEL="microcode", NAME="cpu/microcode"