[PATCH] DVB: Update documentation and credits
[linux-2.6/history.git] / scripts / MAKEDEV.snd
blob586973289206bd7009d40fc7189235ce0c767dad
1 #!/bin/bash
3 # This script creates the proper /dev/ entries for ALSA devices.
4 # See ../Documentation/sound/alsa/ALSA-Configuration.txt for more
5 # information.
7 MAJOR=116
8 OSSMAJOR=14
9 MAX_CARDS=4
10 PERM=666
11 OWNER=root.root
13 if [ "`grep -w -E "^audio" /etc/group`x" != x ]; then
14   PERM=660
15   OWNER=root.audio
18 function create_odevice () {
19   rm -f $1
20   echo -n "Creating $1..."
21   mknod -m $PERM $1 c $OSSMAJOR $2
22   chown $OWNER $1
23   echo " done"
26 function create_odevices () {
27   tmp=0
28   tmp1=0
29   rm -f $1 $1?
30   echo -n "Creating $1?..."
31   while [ $tmp1 -lt $MAX_CARDS ]; do
32     minor=$[ $2 + $tmp ]
33     mknod -m $PERM $1$tmp1 c $OSSMAJOR $minor
34     chown $OWNER $1$tmp1
35     tmp=$[ $tmp + 16 ]
36     tmp1=$[ $tmp1 + 1 ]
37   done
38   echo " done"
41 function create_device1 () {
42   rm -f $1
43   minor=$2
44   echo -n "Creating $1..."
45   mknod -m $PERM $1 c $MAJOR $minor
46   chown $OWNER $1
47   echo " done"
50 function create_devices () {
51   tmp=0
52   rm -f $1 $1?
53   echo -n "Creating $1?..."
54   while [ $tmp -lt $MAX_CARDS ]; do
55     minor=$[ $tmp * 32 ]
56     minor=$[ $2 + $minor ]
57     mknod -m $PERM "${1}C${tmp}" c $MAJOR $minor
58     chown $OWNER "${1}C${tmp}"
59     tmp=$[ $tmp + 1 ]
60   done
61   echo " done"
64 function create_devices2 () {
65   tmp=0
66   rm -f $1 $1?
67   echo -n "Creating $1??..."
68   while [ $tmp -lt $MAX_CARDS ]; do
69     tmp1=0
70     while [ $tmp1 -lt $3 ]; do
71       minor=$[ $tmp * 32 ]
72       minor=$[ $2 + $minor + $tmp1 ]
73       mknod -m $PERM "${1}C${tmp}D${tmp1}" c $MAJOR $minor
74       chown $OWNER "${1}C${tmp}D${tmp1}"
75       tmp1=$[ $tmp1 + 1 ]
76     done
77     tmp=$[ $tmp + 1 ]
78   done
79   echo " done"
82 function create_devices3 () {
83   tmp=0
84   rm -f $1 $1?
85   echo -n "Creating $1??$4..."
86   while [ $tmp -lt $MAX_CARDS ]; do
87     tmp1=0
88     while [ $tmp1 -lt $3 ]; do
89       minor=$[ $tmp * 32 ]
90       minor=$[ $2 + $minor + $tmp1 ]
91       mknod -m $PERM "${1}C${tmp}D${tmp1}${4}" c $MAJOR $minor
92       chown $OWNER "${1}C${tmp}D${tmp1}${4}"
93       tmp1=$[ $tmp1 + 1 ]
94     done
95     tmp=$[ $tmp + 1 ]
96   done
97   echo " done"
100 if test "$1" = "-?" || test "$1" = "-h" || test "$1" = "--help"; then
101   echo "Usage: snddevices [max]"
102   exit
105 if test "$1" = "max"; then
106   DSP_MINOR=19
109 # OSS (Lite) compatible devices...
111 if test $OSSMAJOR -eq 14; then
112   create_odevices /dev/mixer            0
113   create_odevice /dev/sequencer         1
114   create_odevices /dev/midi             2
115   create_odevices /dev/dsp              3
116   create_odevices /dev/audio            4
117   create_odevice /dev/sndstat           6
118   create_odevice /dev/music             8
119   create_odevices /dev/dmmidi           9
120   create_odevices /dev/dmfm             10
121   create_odevices /dev/amixer           11      # alternate mixer
122   create_odevices /dev/adsp             12      # alternate dsp
123   create_odevices /dev/amidi            13      # alternate midi
124   create_odevices /dev/admmidi          14      # alternate direct midi
125   # create symlinks
126   ln -svf /dev/mixer0 /dev/mixer
127   ln -svf /dev/midi0 /dev/midi
128   ln -svf /dev/dsp0 /dev/dsp
129   ln -svf /dev/audio0 /dev/audio
130   ln -svf /dev/music /dev/sequencer2
131   ln -svf /dev/adsp0 /dev/adsp
132   ln -svf /dev/amidi0 /dev/amidi
135 # Remove old devices
137 mv -f /dev/sndstat /dev/1sndstat
138 rm -f /dev/snd*
139 mv -f /dev/1sndstat /dev/sndstat
140 if [ -d /dev/snd ]; then
141   rm -f /dev/snd/*
142   rmdir /dev/snd
145 # Create new ones
147 mkdir -p /dev/snd
148 create_devices  /dev/snd/control        0
149 create_device1  /dev/snd/seq            1
150 create_device1  /dev/snd/timer          33
151 create_devices2 /dev/snd/hw             4       4
152 create_devices2 /dev/snd/midi           8       8
153 create_devices3 /dev/snd/pcm            16      8       p
154 create_devices3 /dev/snd/pcm            24      8       c
156 # Loader devices
158 echo "ALSA loader devices"
159 rm -f /dev/aload*
160 create_devices  /dev/aload              0
161 create_device1  /dev/aloadSEQ           1