]>
Commit | Line | Data |
---|---|---|
c47f50f9 | 1 | --- linux-2.4.10/drivers/sound/sound_core.c Mon Oct 8 16:33:19 2001 |
2 | +++ linux-2.4.10.SuSE+LL/drivers/sound/sound_core.c Mon Oct 8 17:17:49 2001 | |
3 | @@ -231,23 +231,28 @@ | |
4 | ||
5 | int register_sound_special(struct file_operations *fops, int unit) | |
6 | { | |
7 | - char *name; | |
8 | + char *name, name_ext[32]; | |
9 | + int suffix = 0; | |
10 | ||
11 | - switch (unit) { | |
12 | + switch (unit & 15) { | |
13 | case 0: | |
14 | name = "mixer"; | |
15 | + suffix = 1; | |
16 | break; | |
17 | case 1: | |
18 | name = "sequencer"; | |
19 | break; | |
20 | case 2: | |
21 | - name = "midi00"; | |
22 | + sprintf(name_ext, "midi0%d", unit / SOUND_STEP); | |
23 | + name = name_ext; | |
24 | break; | |
25 | case 3: | |
26 | name = "dsp"; | |
27 | + suffix = 1; | |
28 | break; | |
29 | case 4: | |
30 | name = "audio"; | |
31 | + suffix = 1; | |
32 | break; | |
33 | case 5: | |
34 | name = "unknown5"; | |
35 | @@ -263,25 +268,34 @@ | |
36 | break; | |
37 | case 9: | |
38 | name = "dmmidi"; | |
39 | + suffix = 1; | |
40 | break; | |
41 | case 10: | |
42 | name = "dmfm"; | |
43 | + suffix = 1; | |
44 | break; | |
45 | case 11: | |
46 | name = "unknown11"; | |
47 | break; | |
48 | case 12: | |
49 | name = "adsp"; | |
50 | + suffix = 1; | |
51 | break; | |
52 | case 13: | |
53 | name = "amidi"; | |
54 | + suffix = 1; | |
55 | break; | |
56 | case 14: | |
57 | name = "admmidi"; | |
58 | + suffix = 1; | |
59 | break; | |
60 | default: | |
61 | name = "unknown"; | |
62 | break; | |
63 | + } | |
64 | + if (suffix && unit >= SOUND_STEP) { | |
65 | + sprintf(name_ext, "%s%d", name, unit / SOUND_STEP); | |
66 | + name = name_ext; | |
67 | } | |
68 | return sound_insert_unit(&chains[unit&15], fops, -1, unit, unit+1, | |
69 | name, S_IRUSR | S_IWUSR); |