chiark / gitweb /
d6d44137266be054c08d611254523e5d38f89a26
[elogind.git] / rules / gentoo / 30-kernel-compat.rules
1 # do not edit this file, it will be overwritten on update
2
3 ACTION!="add|change", GOTO="kernel_compat_end"
4
5 #
6 # naming device rules
7 #
8
9 # dvb device naming
10 # needed for kernels <2.6.29-rc1
11 SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="", PROGRAM="/bin/sh -c 'K=%k; K=$${K#dvb}; printf dvb/adapter%%i/%%s $${K%%%%.*} $${K#*.}'", NAME="%c", GROUP="video"
12
13 # naming rules for kernels <2.6.31
14
15 # alsa names
16 KERNEL=="controlC[0-9]*",       NAME="snd/%k"
17 KERNEL=="hwC[D0-9]*",           NAME="snd/%k"
18 KERNEL=="pcmC[D0-9cp]*",        NAME="snd/%k"
19 KERNEL=="midiC[D0-9]*",         NAME="snd/%k"
20 KERNEL=="timer",                NAME="snd/%k"
21 KERNEL=="seq",                  NAME="snd/%k"
22
23 KERNEL=="mwave",                NAME="modems/mwave"
24
25 KERNEL=="mouse*|mice|event*",   NAME="input/%k"
26 KERNEL=="ts[0-9]*|uinput",      NAME="input/%k"
27 KERNEL=="js[0-9]*",             NAME="input/%k"
28
29 KERNEL=="card[0-9]*",           NAME="dri/%k"
30
31 SUBSYSTEM=="dvb", ENV{DVB_ADAPTER_NUM}=="?*", NAME="dvb/adapter$env{DVB_ADAPTER_NUM}/$env{DVB_DEVICE_TYPE}$env{DVB_DEVICE_NUM}"
32
33 # libusb device nodes
34 SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}"
35
36 # printer
37 SUBSYSTEM=="usb",               KERNEL=="lp*", NAME="usb/%k"
38
39 # block
40 KERNEL=="pktcdvd[0-9]*", NAME="pktcdvd/%k"
41 KERNEL=="pktcdvd", NAME="pktcdvd/control"
42
43 KERNEL=="rawctl", NAME="raw/rawctl"
44 SUBSYSTEM=="raw", KERNEL=="raw[0-9]*", NAME="raw/%k"
45 SUBSYSTEM=="bsg", NAME="bsg/%k"
46 SUBSYSTEM=="aoe", NAME="etherd/%k"
47
48 # network
49 KERNEL=="tun",                  NAME="net/%k"
50
51 # CPU
52 KERNEL=="cpu[0-9]*",            NAME="cpu/%n/cpuid"
53 KERNEL=="msr[0-9]*",            NAME="cpu/%n/msr"
54 KERNEL=="microcode",            NAME="cpu/microcode", MODE="0600"
55
56 # miscellaneous
57 KERNEL=="auer[0-9]*",           NAME="usb/%k"
58 KERNEL=="hw_random",            NAME="hwrng"
59 KERNEL=="sxctl",                NAME="specialix_sxctl"
60 KERNEL=="rioctl",               NAME="specialix_rioctl"
61 KERNEL=="iowarrior[0-9]*",      NAME="usb/%k"
62 KERNEL=="hiddev[0-9]*",         NAME="usb/%k"
63 KERNEL=="legousbtower[0-9]*",   NAME="usb/%k"
64 KERNEL=="dabusb[0-9]*",         NAME="usb/%k"
65 KERNEL=="usbdpfp[0-9]*",        NAME="usb/%k"
66 KERNEL=="cpad[0-9]*",           NAME="usb/%k"
67
68 # end of naming rules for kernel <2.6.31
69
70
71 #
72 # module loading rules
73 #
74 ACTION!="add", GOTO="kernel_compat_end"
75
76 # No need for more code, as MODALIAS is present
77 ENV{MODALIAS}=="?*", GOTO="kernel_compat_end"
78
79 # needed for kernel <2.6.30-rc1
80 SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/sbin/modprobe -b ch"
81 SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -b mmc_block"
82
83 # needed for kernel <2.6.27-rc5
84 # acpi will do on newer kernels
85 SUBSYSTEM=="pnp", DRIVER!="?*", \
86   RUN{ignore_error}+="/bin/sh -c '/sbin/modprobe -a $$(while read id; do echo pnp:d$$id; done < /sys$devpath/id)'"
87
88 LABEL="kernel_compat_end"