chiark / gitweb /
56ed1a8807cd90539295121cf98afdd2bd03436b
[elogind.git] / etc / udev / debian / devfs.rules
1 # There are a number of modifiers that are allowed to be used in some
2 # of the different fields. They provide the following subsitutions:
3 #
4 # %n the "kernel number" of the device.
5 #    For example, 'sda3' has a "kernel number" of '3'
6 # %k the kernel name for the device
7 # %M the kernel major number for the device
8 # %m the kernel minor number for the device
9 # %b the bus id for the device
10 # %c the string returned by the PROGRAM
11 # %s{filename} the content of a sysfs attribute
12 # %% the '%' char itself
13 #
14
15 # workaround for devices which do not report media changes
16 SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTR{removable}=="1", \
17         ENV{ID_MODEL}=="IOMEGA_ZIP*",   NAME="%k", OPTIONS+="all_partitions"
18 SUBSYSTEMS=="ide", KERNEL=="hd[a-z]", ATTRS{media}=="floppy", \
19         OPTIONS+="all_partitions"
20
21 # IDE devices
22 SUBSYSTEMS=="ide", KERNEL=="hd[a-z]*", PROGRAM="ide-devfs.sh %k %b %n", \
23                                         ACTION=="add", \
24                                         NAME="%c{1}", SYMLINK+="%k %c{2}"
25
26 # SCSI devices
27 SUBSYSTEMS=="scsi", PROGRAM="scsi-devfs.sh %k %b %n", ACTION=="add", \
28                                         NAME="%c{1}", SYMLINK+="%k %c{2}"
29
30 # RAID controllers
31 KERNEL=="cciss!*|ida!*|rd!*", PROGRAM="raid-devfs.sh %k", ACTION=="add", \
32                                         NAME="%c{1}", SYMLINK+="%k"
33
34 # other block devices
35 KERNEL=="md[0-9]*",                     NAME="md/%n",
36 KERNEL=="loop[0-9]*",                   NAME="loop/%n"
37 KERNEL=="ram[0-9]*",                    NAME="rd/%n"
38
39 # USB devices
40 SUBSYSTEMS=="usb", KERNEL=="auer[0-9]*",        NAME="usb/%k"
41 SUBSYSTEMS=="usb", KERNEL=="cpad[0-9]*",        NAME="usb/%k"
42 SUBSYSTEMS=="usb", KERNEL=="dabusb*",           NAME="usb/%k"
43 SUBSYSTEMS=="usb", KERNEL=="hiddev*",           NAME="usb/%k"
44 SUBSYSTEMS=="usb", KERNEL=="legousbtower*",     NAME="usb/%k"
45 SUBSYSTEMS=="usb", KERNEL=="lp[0-9]*",          NAME="usb/%k"
46 SUBSYSTEMS=="usb", KERNEL=="ttyUSB*", \
47         ATTRS{product}=="Palm Handheld*|Handspring Visor|palmOne Handheld", \
48                                                 SYMLINK+="pilot"
49
50 # usbfs-like devices
51 SUBSYSTEM=="usb_device",        PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", ACTION=="add", \
52                                 NAME="%c"
53 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",   NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
54
55 # serial devices
56 KERNEL=="ttyS[0-9]*",           NAME="tts/%n"
57 KERNEL=="ttyUSB[0-9]*",         NAME="tts/USB%n"
58 KERNEL=="rfcomm[0-9]*",         NAME="bluetooth/rfcomm/%n",
59 KERNEL=="capi",                 NAME="capi20", SYMLINK+="isdn/capi20"
60 KERNEL=="capi[0-9]*",           NAME="capi/%n"
61
62 # vc devices
63 KERNEL=="tty[0-9]*",            NAME="vc/%n"
64 KERNEL=="vcs",                  NAME="vcc/0"
65 KERNEL=="vcs[0-9]*",            NAME="vcc/%n"
66 KERNEL=="vcsa",                 NAME="vcc/a0"
67 KERNEL=="vcsa[0-9]*",           NAME="vcc/a%n"
68
69 # video devices
70 KERNEL=="video[0-9]*",          NAME="v4l/%k"
71 KERNEL=="radio[0-9]*",          NAME="v4l/%k"
72 KERNEL=="vbi[0-9]*",            NAME="v4l/%k"
73 KERNEL=="vtx[0-9]*",            NAME="v4l/%k"
74 KERNEL=="dvb*",                 PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}", ACTION=="add", \
75                                 NAME="%c"
76 KERNEL=="fb[0-9]*",             NAME="fb/%n"
77 KERNEL=="card[0-9]*",           NAME="dri/%k"
78
79 # misc devices
80 KERNEL=="apm_bios",             NAME="misc/%k",
81 KERNEL=="agpgart",              NAME="misc/%k"
82 KERNEL=="hw_random",            NAME="hwrng"
83 KERNEL=="nvram",                NAME="misc/%k"
84 KERNEL=="psaux",                NAME="misc/%k"
85 KERNEL=="rtc",                  NAME="misc/%k"
86 KERNEL=="tun",                  NAME="net/%k"
87 KERNEL=="evtchn",               NAME="xen/%k"
88
89 # printers and parallel devices
90 KERNEL=="lp[0-9]*",             NAME="printers/%n"
91 KERNEL=="parport[0-9]*",        NAME="parports/%n"
92
93 KERNEL=="i2c-[0-9]*",           NAME="i2c/%n"
94 KERNEL=="fd[0-9]*",             NAME="floppy/%n"
95
96 KERNEL=="cdemu[0-9]*",          NAME="cdemu/%n"
97 KERNEL=="pktcdvd[0-9]*",        NAME="pktcdvd/%n"
98 KERNEL=="pktcdvd",              NAME="pktcdvd/control"
99
100 KERNEL=="cpu[0-9]*",            NAME="cpu/%n/cpuid"
101 KERNEL=="msr[0-9]*",            NAME="cpu/%n/msr"
102 KERNEL=="microcode",            NAME="cpu/microcode"
103
104 KERNEL=="umad*",                NAME="infiniband/%k"
105 KERNEL=="issm*",                NAME="infiniband/%k"
106 KERNEL=="uverbs*",              NAME="infiniband/%k"
107 KERNEL=="ucm*",                 NAME="infiniband/%k"
108 KERNEL=="rdma_ucm",             NAME="infiniband/%k"
109
110 # sound devices
111 KERNEL=="controlC[0-9]*",       NAME="snd/%k"
112 KERNEL=="hwC[D0-9]*",           NAME="snd/%k"
113 KERNEL=="pcmC[D0-9cp]*",        NAME="snd/%k"
114 KERNEL=="midiC[D0-9]*",         NAME="snd/%k"
115 KERNEL=="timer",                NAME="snd/%k"
116 KERNEL=="seq",                  NAME="snd/%k"
117 KERNEL=="audio*",               NAME="sound/%k"
118 KERNEL=="dsp*",                 NAME="sound/%k"
119 KERNEL=="adsp*",                NAME="sound/%k"
120 KERNEL=="midi*",                NAME="sound/%k"
121 KERNEL=="mixer*",               NAME="sound/%k"
122 KERNEL=="sequencer*",           NAME="sound/%k"
123 KERNEL=="amidi*",               NAME="sound/%k"
124 KERNEL=="dmmidi*",              NAME="sound/%k"
125 KERNEL=="admmidi*",             NAME="sound/%k"
126
127 # ieee1394 devices       
128 KERNEL=="dv1394*",              NAME="dv1394/%n"
129 KERNEL=="video1394*",           NAME="video1394/%n"
130
131 # input devices
132 KERNEL=="mice",                 NAME="input/%k"
133 KERNEL=="mouse[0-9]*",          NAME="input/%k"
134 KERNEL=="event[0-9]*",          NAME="input/%k"
135 KERNEL=="js[0-9]*",             NAME="input/%k"
136 KERNEL=="ts[0-9]*",             NAME="input/%k"
137 KERNEL=="uinput",               NAME="input/%k"
138
139 # Zaptel
140 KERNEL=="zapctl",               NAME="zap/ctl"
141 KERNEL=="zaptimer",             NAME="zap/timer"
142 KERNEL=="zapchannel",           NAME="zap/channel"
143 KERNEL=="zappseudo",            NAME="zap/pseudo"
144 KERNEL=="zap[0-9]*",            NAME="zap/%n"
145
146 # AOE character devices
147 SUBSYSTEM=="aoe", KERNEL=="discover",   NAME="etherd/%k"
148 SUBSYSTEM=="aoe", KERNEL=="err",        NAME="etherd/%k"
149 SUBSYSTEM=="aoe", KERNEL=="interfaces", NAME="etherd/%k"
150 SUBSYSTEM=="aoe", KERNEL=="revalidate", NAME="etherd/%k"
151
152 # device mapper creates its own device nodes, so ignore these
153 KERNEL=="device-mapper",        NAME="mapper/control"
154