#
# This is a sample mdev.conf
#

# Provide user, group, and mode information for devices.  If a regex matches
# the device name provided by sysfs, use the appropriate user:group and mode
# instead of the default 0:0 660.
#
# Syntax:
# [-]devicename_regex user:group mode [=path]|[>path]|[!] [@|$|*cmd args...]
# [-]$ENVVAR=regex    user:group mode [=path]|[>path]|[!] [@|$|*cmd args...]
# [-]@maj,min[-min2]  user:group mode [=path]|[>path]|[!] [@|$|*cmd args...]
#
# [-]: do not stop on this match, continue reading mdev.conf
# =: move, >: move and create a symlink
# !: do not create device node
# @|$|*: run cmd if $ACTION=remove, @cmd if $ACTION=add, *cmd in all cases

# support module loading on hotplug
$MODALIAS=.*	root:root 660 @modprobe "$MODALIAS"

# null may already exist; therefore ownership has to be changed with command
null		root:root 666 @chmod 666 $MDEV
zero		root:root 666
full		root:root 666
random		root:root 444
urandom		root:root 444
hwrandom	root:root 444
grsec		root:root 660

kmem		root:root 640
mem		root:root 640
port		root:root 640
# console may already exist; therefore ownership has to be changed with command
console		root:tty 600 @chmod 600 $MDEV
ptmx		root:tty 666
pty.*		root:tty 660

# Typical devices

tty		root:tty 666
tty[0-9]*	root:tty 660
vcsa*[0-9]*	root:tty 660
ttyS[0-9]*	root:uucp 660

# block devices
ram([0-9]*)	root:disk 660 >rd/%1
loop([0-9]+)	root:disk 660 >loop/%1
sd[a-z].*	root:disk 660 */lib/mdev/usbdisk_link
hd[a-z][0-9]*	root:disk 660 */lib/mdev/ide_links
md[0-9]*	root:disk 660
sr[0-9]*	root:cdrom 660 @ln -sf $MDEV cdrom
fd[0-9]*	root:floppy 660

# net devices
tun[0-9]*	root:root 600 =net/
tap[0-9]*	root:root 600 =net/

# alsa sound devices and audio stuff
pcm.*		root:audio 660 =snd/
control.*	root:audio 660 =snd/
midi.*		root:audio 660 =snd/
seq		root:audio 660 =snd/
timer		root:audio 660 =snd/

adsp		root:audio 660 >sound/
audio		root:audio 660 >sound/
dsp		root:audio 660 >sound/
mixer		root:audio 660 >sound/
sequencer.*	root:audio 660 >sound/

# Less typical devices

# raid controllers
cciss!(.*)	root:disk 660 =cciss/%1
ida!(.*)	root:disk 660 =ida/%1
rd!(.*)		root:disk 660 =rd/%1

ttyLTM[0-9]	root:dialout 660 @ln -sf $MDEV modem
ttySHSF[0-9]	root:dialout 660 @ln -sf $MDEV modem
slamr		root:dialout 660 @ln -sf $MDEV slamr0
slusb		root:dialout 660 @ln -sf $MDEV slusb0

fuse		root:root 666

# dri device
card[0-9]	root:video 660 =dri/

# misc stuff
agpgart		root:root 660 >misc/
psaux		root:root 660 >misc/
rtc		root:root 664 >misc/

# input stuff
event[0-9]+	root:root 640 =input/
mice		root:root 640 =input/
mouse[0-9]	root:root 640 =input/
ts[0-9]		root:root 600 =input/

# v4l stuff
vbi[0-9]	root:video 660 >v4l/
video[0-9]	root:video 660 >v4l/

# dvb stuff
dvb.*		root:video 660 */lib/mdev/dvbdev

# load drivers for usb devices
usbdev[0-9].[0-9]	root:root 660 */lib/mdev/usbdev
usbdev[0-9].[0-9]_.*	root:root 660

# zaptel devices
zap(.*)		root:dialout 660 =zap/%1
dahdi!(.*)	root:dialout 660 =dahdi/%1
