aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2005-11-20 08:03:48 -0500
committerJaroslav Kysela <perex@suse.cz>2006-01-03 06:29:14 -0500
commit2af677fc884fc6dc79e65c99050ea607ac8bab9b (patch)
tree4291d36c2f116d5887b88da5f0213b68933a1201 /include/sound
parenta106cd3d9e88c8761bd0eac2ce402cc82bd11fea (diff)
[ALSA] dynamic minors (1/6): store device type in struct snd_minor
Instead of a comment string, store the device type in the snd_minor structure. This makes snd_minor more flexible, and has the nice side effect that we don't need anymore to create a separate snd_minor template for registering a device but can pass the file_operations directly to snd_register_device(). Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/core.h8
-rw-r--r--include/sound/pcm.h3
2 files changed, 6 insertions, 5 deletions
diff --git a/include/sound/core.h b/include/sound/core.h
index f00b9c9b567f..f557c8ac450e 100644
--- a/include/sound/core.h
+++ b/include/sound/core.h
@@ -185,8 +185,8 @@ static inline int snd_power_wait(struct snd_card *card, unsigned int state, stru
185struct snd_minor { 185struct snd_minor {
186 struct list_head list; /* list of all minors per card */ 186 struct list_head list; /* list of all minors per card */
187 int number; /* minor number */ 187 int number; /* minor number */
188 int type; /* SNDRV_DEVICE_TYPE_XXX */
188 int device; /* device number */ 189 int device; /* device number */
189 const char *comment; /* for /proc/asound/devices */
190 struct file_operations *f_ops; /* file operations */ 190 struct file_operations *f_ops; /* file operations */
191 char name[0]; /* device name (keep at the end of 191 char name[0]; /* device name (keep at the end of
192 structure) */ 192 structure) */
@@ -199,11 +199,13 @@ extern int snd_ecards_limit;
199 199
200void snd_request_card(int card); 200void snd_request_card(int card);
201 201
202int snd_register_device(int type, struct snd_card *card, int dev, struct snd_minor *reg, const char *name); 202int snd_register_device(int type, struct snd_card *card, int dev,
203 struct file_operations *f_ops, const char *name);
203int snd_unregister_device(int type, struct snd_card *card, int dev); 204int snd_unregister_device(int type, struct snd_card *card, int dev);
204 205
205#ifdef CONFIG_SND_OSSEMUL 206#ifdef CONFIG_SND_OSSEMUL
206int snd_register_oss_device(int type, struct snd_card *card, int dev, struct snd_minor *reg, const char *name); 207int snd_register_oss_device(int type, struct snd_card *card, int dev,
208 struct file_operations *f_ops, const char *name);
207int snd_unregister_oss_device(int type, struct snd_card *card, int dev); 209int snd_unregister_oss_device(int type, struct snd_card *card, int dev);
208#endif 210#endif
209 211
diff --git a/include/sound/pcm.h b/include/sound/pcm.h
index 7e77c0add80a..5e29b0e0f214 100644
--- a/include/sound/pcm.h
+++ b/include/sound/pcm.h
@@ -402,7 +402,6 @@ struct snd_pcm_str {
402 struct snd_pcm_oss_stream oss; 402 struct snd_pcm_oss_stream oss;
403#endif 403#endif
404 struct snd_pcm_file *files; 404 struct snd_pcm_file *files;
405 struct snd_minor *reg;
406 struct snd_info_entry *proc_root; 405 struct snd_info_entry *proc_root;
407 struct snd_info_entry *proc_info_entry; 406 struct snd_info_entry *proc_info_entry;
408#ifdef CONFIG_SND_DEBUG 407#ifdef CONFIG_SND_DEBUG
@@ -441,7 +440,7 @@ struct snd_pcm_notify {
441 */ 440 */
442 441
443extern struct snd_pcm *snd_pcm_devices[]; 442extern struct snd_pcm *snd_pcm_devices[];
444extern struct snd_minor snd_pcm_reg[2]; 443extern struct file_operations snd_pcm_f_ops[2];
445 444
446int snd_pcm_new(struct snd_card *card, char *id, int device, 445int snd_pcm_new(struct snd_card *card, char *id, int device,
447 int playback_count, int capture_count, 446 int playback_count, int capture_count,