diff options
Diffstat (limited to 'sound/pci/cs5535audio/cs5535audio.c')
-rw-r--r-- | sound/pci/cs5535audio/cs5535audio.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c index 8f46190f24ad..f61c4fa4ed62 100644 --- a/sound/pci/cs5535audio/cs5535audio.c +++ b/sound/pci/cs5535audio/cs5535audio.c | |||
@@ -56,17 +56,16 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { | |||
56 | {} | 56 | {} |
57 | }; | 57 | }; |
58 | 58 | ||
59 | static int index = SNDRV_DEFAULT_IDX1; | 59 | static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; |
60 | static char *id = SNDRV_DEFAULT_STR1; | 60 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; |
61 | /* for backward compatibility */ | 61 | static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; |
62 | static int enable; | ||
63 | 62 | ||
64 | module_param(index, int, 0444); | 63 | module_param_array(index, int, NULL, 0444); |
65 | MODULE_PARM_DESC(index, "Index value for " DRIVER_NAME); | 64 | MODULE_PARM_DESC(index, "Index value for " DRIVER_NAME); |
66 | module_param(id, charp, 0444); | 65 | module_param_array(id, charp, NULL, 0444); |
67 | MODULE_PARM_DESC(id, "ID string for " DRIVER_NAME); | 66 | MODULE_PARM_DESC(id, "ID string for " DRIVER_NAME); |
68 | module_param(enable, bool, 0444); | 67 | module_param_array(enable, bool, NULL, 0444); |
69 | MODULE_PARM_DESC(enable, "Enable for " DRIVER_NAME); | 68 | MODULE_PARM_DESC(enable, "Enable " DRIVER_NAME); |
70 | 69 | ||
71 | static struct pci_device_id snd_cs5535audio_ids[] __devinitdata = { | 70 | static struct pci_device_id snd_cs5535audio_ids[] __devinitdata = { |
72 | { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_CS5535_AUDIO) }, | 71 | { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_CS5535_AUDIO) }, |
@@ -358,8 +357,12 @@ static int __devinit snd_cs5535audio_probe(struct pci_dev *pci, | |||
358 | 357 | ||
359 | if (dev >= SNDRV_CARDS) | 358 | if (dev >= SNDRV_CARDS) |
360 | return -ENODEV; | 359 | return -ENODEV; |
360 | if (!enable[dev]) { | ||
361 | dev++; | ||
362 | return -ENOENT; | ||
363 | } | ||
361 | 364 | ||
362 | card = snd_card_new(index, id, THIS_MODULE, 0); | 365 | card = snd_card_new(index[dev], id[dev], THIS_MODULE, 0); |
363 | if (card == NULL) | 366 | if (card == NULL) |
364 | return -ENOMEM; | 367 | return -ENOMEM; |
365 | 368 | ||