diff options
author | Clemens Ladisch <clemens@ladisch.de> | 2005-11-20 08:07:47 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-01-03 06:29:19 -0500 |
commit | 332682b1cd540dd7abbbbfc1905af8139e76e1b7 (patch) | |
tree | e2e858870972073b2e01f7f8d5948c187c11e2bb /include | |
parent | f87135f56cb266e031f5ec081dfbde7e43f55e80 (diff) |
[ALSA] dynamic minors (4/6): dynamic minor number allocation
Modules: ALSA Core,ALSA Minor Numbers
Add an option to allocate device file minor numbers dynamically.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/sound/minors.h | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/include/sound/minors.h b/include/sound/minors.h index a17b5c9961bb..46bcd2023ed8 100644 --- a/include/sound/minors.h +++ b/include/sound/minors.h | |||
@@ -26,18 +26,20 @@ | |||
26 | #define SNDRV_MINOR_DEVICE(minor) ((minor) & 0x001f) | 26 | #define SNDRV_MINOR_DEVICE(minor) ((minor) & 0x001f) |
27 | #define SNDRV_MINOR(card, dev) (((card) << 5) | (dev)) | 27 | #define SNDRV_MINOR(card, dev) (((card) << 5) | (dev)) |
28 | 28 | ||
29 | #define SNDRV_MINOR_CONTROL 0 /* 0 - 0 */ | 29 | /* these minors can still be used for autoloading devices (/dev/aload*) */ |
30 | #define SNDRV_MINOR_CONTROL 0 /* 0 */ | ||
30 | #define SNDRV_MINOR_GLOBAL 1 /* 1 */ | 31 | #define SNDRV_MINOR_GLOBAL 1 /* 1 */ |
31 | #define SNDRV_MINOR_SEQUENCER (SNDRV_MINOR_GLOBAL + 0 * 32) | 32 | #define SNDRV_MINOR_SEQUENCER (SNDRV_MINOR_GLOBAL + 0 * 32) |
32 | #define SNDRV_MINOR_TIMER (SNDRV_MINOR_GLOBAL + 1 * 32) | 33 | #define SNDRV_MINOR_TIMER (SNDRV_MINOR_GLOBAL + 1 * 32) |
34 | |||
35 | #ifndef CONFIG_SND_DYNAMIC_MINORS | ||
36 | /* 2 - 3 (reserved) */ | ||
33 | #define SNDRV_MINOR_HWDEP 4 /* 4 - 7 */ | 37 | #define SNDRV_MINOR_HWDEP 4 /* 4 - 7 */ |
34 | #define SNDRV_MINOR_HWDEPS 4 | ||
35 | #define SNDRV_MINOR_RAWMIDI 8 /* 8 - 15 */ | 38 | #define SNDRV_MINOR_RAWMIDI 8 /* 8 - 15 */ |
36 | #define SNDRV_MINOR_RAWMIDIS 8 | ||
37 | #define SNDRV_MINOR_PCM_PLAYBACK 16 /* 16 - 23 */ | 39 | #define SNDRV_MINOR_PCM_PLAYBACK 16 /* 16 - 23 */ |
38 | #define SNDRV_MINOR_PCM_CAPTURE 24 /* 24 - 31 */ | 40 | #define SNDRV_MINOR_PCM_CAPTURE 24 /* 24 - 31 */ |
39 | #define SNDRV_MINOR_PCMS 8 | ||
40 | 41 | ||
42 | /* same as first respective minor number to make minor allocation easier */ | ||
41 | #define SNDRV_DEVICE_TYPE_CONTROL SNDRV_MINOR_CONTROL | 43 | #define SNDRV_DEVICE_TYPE_CONTROL SNDRV_MINOR_CONTROL |
42 | #define SNDRV_DEVICE_TYPE_HWDEP SNDRV_MINOR_HWDEP | 44 | #define SNDRV_DEVICE_TYPE_HWDEP SNDRV_MINOR_HWDEP |
43 | #define SNDRV_DEVICE_TYPE_RAWMIDI SNDRV_MINOR_RAWMIDI | 45 | #define SNDRV_DEVICE_TYPE_RAWMIDI SNDRV_MINOR_RAWMIDI |
@@ -46,6 +48,25 @@ | |||
46 | #define SNDRV_DEVICE_TYPE_SEQUENCER SNDRV_MINOR_SEQUENCER | 48 | #define SNDRV_DEVICE_TYPE_SEQUENCER SNDRV_MINOR_SEQUENCER |
47 | #define SNDRV_DEVICE_TYPE_TIMER SNDRV_MINOR_TIMER | 49 | #define SNDRV_DEVICE_TYPE_TIMER SNDRV_MINOR_TIMER |
48 | 50 | ||
51 | #else /* CONFIG_SND_DYNAMIC_MINORS */ | ||
52 | |||
53 | enum { | ||
54 | SNDRV_DEVICE_TYPE_CONTROL, | ||
55 | SNDRV_DEVICE_TYPE_SEQUENCER, | ||
56 | SNDRV_DEVICE_TYPE_TIMER, | ||
57 | SNDRV_DEVICE_TYPE_HWDEP, | ||
58 | SNDRV_DEVICE_TYPE_RAWMIDI, | ||
59 | SNDRV_DEVICE_TYPE_PCM_PLAYBACK, | ||
60 | SNDRV_DEVICE_TYPE_PCM_CAPTURE, | ||
61 | }; | ||
62 | |||
63 | #endif /* CONFIG_SND_DYNAMIC_MINORS */ | ||
64 | |||
65 | #define SNDRV_MINOR_HWDEPS 4 | ||
66 | #define SNDRV_MINOR_RAWMIDIS 8 | ||
67 | #define SNDRV_MINOR_PCMS 8 | ||
68 | |||
69 | |||
49 | #ifdef CONFIG_SND_OSSEMUL | 70 | #ifdef CONFIG_SND_OSSEMUL |
50 | 71 | ||
51 | #define SNDRV_MINOR_OSS_DEVICES 16 | 72 | #define SNDRV_MINOR_OSS_DEVICES 16 |