aboutsummaryrefslogtreecommitdiffstats
path: root/sound/core/seq
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2005-11-20 08:06:59 -0500
committerJaroslav Kysela <perex@suse.cz>2006-01-03 06:29:17 -0500
commitf87135f56cb266e031f5ec081dfbde7e43f55e80 (patch)
treec048abae6bb04df53f5d8d7dcffbf2c28bc638ff /sound/core/seq
parent6983b7240cd229787c3ee00e663ea94ea649d96a (diff)
[ALSA] dynamic minors (3/6): store device-specific object pointers dynamically
Instead of storing the pointers to the device-specific structures in an array, put them into the struct snd_minor, and look them up dynamically. This makes the device type modules independent of the minor number encoding. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'sound/core/seq')
-rw-r--r--sound/core/seq/oss/seq_oss.c4
-rw-r--r--sound/core/seq/seq_clientmgr.c2
-rw-r--r--sound/core/seq/seq_midi.c10
3 files changed, 11 insertions, 5 deletions
diff --git a/sound/core/seq/oss/seq_oss.c b/sound/core/seq/oss/seq_oss.c
index 61c0a41376f..4b51ab56507 100644
--- a/sound/core/seq/oss/seq_oss.c
+++ b/sound/core/seq/oss/seq_oss.c
@@ -225,7 +225,7 @@ register_device(void)
225 down(&register_mutex); 225 down(&register_mutex);
226 if ((rc = snd_register_oss_device(SNDRV_OSS_DEVICE_TYPE_SEQUENCER, 226 if ((rc = snd_register_oss_device(SNDRV_OSS_DEVICE_TYPE_SEQUENCER,
227 NULL, 0, 227 NULL, 0,
228 &seq_oss_f_ops, 228 &seq_oss_f_ops, NULL,
229 SNDRV_SEQ_OSS_DEVNAME)) < 0) { 229 SNDRV_SEQ_OSS_DEVNAME)) < 0) {
230 snd_printk(KERN_ERR "can't register device seq\n"); 230 snd_printk(KERN_ERR "can't register device seq\n");
231 up(&register_mutex); 231 up(&register_mutex);
@@ -233,7 +233,7 @@ register_device(void)
233 } 233 }
234 if ((rc = snd_register_oss_device(SNDRV_OSS_DEVICE_TYPE_MUSIC, 234 if ((rc = snd_register_oss_device(SNDRV_OSS_DEVICE_TYPE_MUSIC,
235 NULL, 0, 235 NULL, 0,
236 &seq_oss_f_ops, 236 &seq_oss_f_ops, NULL,
237 SNDRV_SEQ_OSS_DEVNAME)) < 0) { 237 SNDRV_SEQ_OSS_DEVNAME)) < 0) {
238 snd_printk(KERN_ERR "can't register device music\n"); 238 snd_printk(KERN_ERR "can't register device music\n");
239 snd_unregister_oss_device(SNDRV_OSS_DEVICE_TYPE_SEQUENCER, NULL, 0); 239 snd_unregister_oss_device(SNDRV_OSS_DEVICE_TYPE_SEQUENCER, NULL, 0);
diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c
index 087fdf32732..c8bd37ee837 100644
--- a/sound/core/seq/seq_clientmgr.c
+++ b/sound/core/seq/seq_clientmgr.c
@@ -2531,7 +2531,7 @@ int __init snd_sequencer_device_init(void)
2531 return -ERESTARTSYS; 2531 return -ERESTARTSYS;
2532 2532
2533 if ((err = snd_register_device(SNDRV_DEVICE_TYPE_SEQUENCER, NULL, 0, 2533 if ((err = snd_register_device(SNDRV_DEVICE_TYPE_SEQUENCER, NULL, 0,
2534 &snd_seq_f_ops, "seq")) < 0) { 2534 &snd_seq_f_ops, NULL, "seq")) < 0) {
2535 up(&register_mutex); 2535 up(&register_mutex);
2536 return err; 2536 return err;
2537 } 2537 }
diff --git a/sound/core/seq/seq_midi.c b/sound/core/seq/seq_midi.c
index f88d2e3ee66..0a65eb2f976 100644
--- a/sound/core/seq/seq_midi.c
+++ b/sound/core/seq/seq_midi.c
@@ -183,7 +183,10 @@ static int midisynth_subscribe(void *private_data, struct snd_seq_port_subscribe
183 struct snd_rawmidi_params params; 183 struct snd_rawmidi_params params;
184 184
185 /* open midi port */ 185 /* open midi port */
186 if ((err = snd_rawmidi_kernel_open(msynth->card->number, msynth->device, msynth->subdevice, SNDRV_RAWMIDI_LFLG_INPUT, &msynth->input_rfile)) < 0) { 186 if ((err = snd_rawmidi_kernel_open(msynth->card, msynth->device,
187 msynth->subdevice,
188 SNDRV_RAWMIDI_LFLG_INPUT,
189 &msynth->input_rfile)) < 0) {
187 snd_printd("midi input open failed!!!\n"); 190 snd_printd("midi input open failed!!!\n");
188 return err; 191 return err;
189 } 192 }
@@ -221,7 +224,10 @@ static int midisynth_use(void *private_data, struct snd_seq_port_subscribe *info
221 struct snd_rawmidi_params params; 224 struct snd_rawmidi_params params;
222 225
223 /* open midi port */ 226 /* open midi port */
224 if ((err = snd_rawmidi_kernel_open(msynth->card->number, msynth->device, msynth->subdevice, SNDRV_RAWMIDI_LFLG_OUTPUT, &msynth->output_rfile)) < 0) { 227 if ((err = snd_rawmidi_kernel_open(msynth->card, msynth->device,
228 msynth->subdevice,
229 SNDRV_RAWMIDI_LFLG_OUTPUT,
230 &msynth->output_rfile)) < 0) {
225 snd_printd("midi output open failed!!!\n"); 231 snd_printd("midi output open failed!!!\n");
226 return err; 232 return err;
227 } 233 }