summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorClemens Ladisch <clemens@ladisch.de>2005-11-20 14:08:28 +0100
committerJaroslav Kysela <perex@suse.cz>2006-01-03 12:29:20 +0100
commit204bdb1b50013c7aa3922d8b66df943123087bd8 (patch)
tree9e1721fe87bd960d497dfbb7a3abe9ddb57e5365 /sound
parent332682b1cd540dd7abbbbfc1905af8139e76e1b7 (diff)
downloadlinux-stable-204bdb1b50013c7aa3922d8b66df943123087bd8.tar.gz
linux-stable-204bdb1b50013c7aa3922d8b66df943123087bd8.tar.bz2
linux-stable-204bdb1b50013c7aa3922d8b66df943123087bd8.zip
[ALSA] dynamic minors (5/6): reduce maximum number of MIDI devices per card
Modules: ALSA sequencer,Generic drivers To allow increasing the maximum number of sound cards, we have to limit the number of sequencer clients per card because client numbers are still allocated statically. Reducing the number of clients to four limits the number of sequencer MIDI ports to 1024 per card. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Diffstat (limited to 'sound')
-rw-r--r--sound/core/seq/seq_clientmgr.c6
-rw-r--r--sound/drivers/virmidi.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/sound/core/seq/seq_clientmgr.c b/sound/core/seq/seq_clientmgr.c
index c8bd37ee8375..95bd5ae92b92 100644
--- a/sound/core/seq/seq_clientmgr.c
+++ b/sound/core/seq/seq_clientmgr.c
@@ -157,7 +157,7 @@ struct snd_seq_client *snd_seq_client_use_ptr(int clientid)
}
}
} else if (clientid >= 64 && clientid < 128) {
- int card = (clientid - 64) / 8;
+ int card = (clientid - 64) / 4;
if (card < snd_ecards_limit) {
if (! card_requested[card]) {
card_requested[card] = 1;
@@ -2208,12 +2208,12 @@ int snd_seq_create_kernel_client(struct snd_card *card, int client_index,
if (callback == NULL)
return -EINVAL;
- if (card && client_index > 7)
+ if (card && client_index > 3)
return -EINVAL;
if (card == NULL && client_index > 63)
return -EINVAL;
if (card)
- client_index += 64 + (card->number << 3);
+ client_index += 64 + (card->number << 2);
if (down_interruptible(&register_mutex))
return -ERESTARTSYS;
diff --git a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c
index a7b9241fff3c..9f36a6472478 100644
--- a/sound/drivers/virmidi.c
+++ b/sound/drivers/virmidi.c
@@ -61,7 +61,7 @@ MODULE_DESCRIPTION("Dummy soundcard for virtual rawmidi devices");
MODULE_LICENSE("GPL");
MODULE_SUPPORTED_DEVICE("{{ALSA,Virtual rawmidi device}}");
-#define MAX_MIDI_DEVICES 8
+#define MAX_MIDI_DEVICES 4
static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; /* Index 0-MAX */
static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; /* ID for this card */
@@ -75,7 +75,7 @@ MODULE_PARM_DESC(id, "ID string for virmidi soundcard.");
module_param_array(enable, bool, NULL, 0444);
MODULE_PARM_DESC(enable, "Enable this soundcard.");
module_param_array(midi_devs, int, NULL, 0444);
-MODULE_PARM_DESC(midi_devs, "MIDI devices # (1-8)");
+MODULE_PARM_DESC(midi_devs, "MIDI devices # (1-4)");
struct snd_card_virmidi {
struct snd_card *card;