aboutsummaryrefslogtreecommitdiffstats
path: root/sound/drivers/mpu401/mpu401.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/drivers/mpu401/mpu401.c')
-rw-r--r--sound/drivers/mpu401/mpu401.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c
index 2de181ad0b0..67c6e974541 100644
--- a/sound/drivers/mpu401/mpu401.c
+++ b/sound/drivers/mpu401/mpu401.c
@@ -42,6 +42,7 @@ static int pnp[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
42#endif 42#endif
43static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* MPU-401 port number */ 43static long port[SNDRV_CARDS] = SNDRV_DEFAULT_PORT; /* MPU-401 port number */
44static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; /* MPU-401 IRQ */ 44static int irq[SNDRV_CARDS] = SNDRV_DEFAULT_IRQ; /* MPU-401 IRQ */
45static int uart_enter[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 1};
45 46
46module_param_array(index, int, NULL, 0444); 47module_param_array(index, int, NULL, 0444);
47MODULE_PARM_DESC(index, "Index value for MPU-401 device."); 48MODULE_PARM_DESC(index, "Index value for MPU-401 device.");
@@ -57,6 +58,8 @@ module_param_array(port, long, NULL, 0444);
57MODULE_PARM_DESC(port, "Port # for MPU-401 device."); 58MODULE_PARM_DESC(port, "Port # for MPU-401 device.");
58module_param_array(irq, int, NULL, 0444); 59module_param_array(irq, int, NULL, 0444);
59MODULE_PARM_DESC(irq, "IRQ # for MPU-401 device."); 60MODULE_PARM_DESC(irq, "IRQ # for MPU-401 device.");
61module_param_array(uart_enter, bool, NULL, 0444);
62MODULE_PARM_DESC(uart_enter, "Issue UART_ENTER command at open.");
60 63
61static struct platform_device *platform_devices[SNDRV_CARDS]; 64static struct platform_device *platform_devices[SNDRV_CARDS];
62static int pnp_registered; 65static int pnp_registered;
@@ -80,10 +83,11 @@ static int snd_mpu401_create(int dev, struct snd_card **rcard)
80 strcat(card->longname, "polled"); 83 strcat(card->longname, "polled");
81 } 84 }
82 85
83 if ((err = snd_mpu401_uart_new(card, 0, 86 err = snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port[dev],
84 MPU401_HW_MPU401, 87 uart_enter[dev] ? 0 : MPU401_INFO_UART_ONLY,
85 port[dev], 0, 88 irq[dev], irq[dev] >= 0 ? IRQF_DISABLED : 0,
86 irq[dev], irq[dev] >= 0 ? IRQF_DISABLED : 0, NULL)) < 0) { 89 NULL);
90 if (err < 0) {
87 printk(KERN_ERR "MPU401 not detected at 0x%lx\n", port[dev]); 91 printk(KERN_ERR "MPU401 not detected at 0x%lx\n", port[dev]);
88 goto _err; 92 goto _err;
89 } 93 }
@@ -224,7 +228,7 @@ static struct pnp_driver snd_mpu401_pnp_driver = {
224static struct pnp_driver snd_mpu401_pnp_driver; 228static struct pnp_driver snd_mpu401_pnp_driver;
225#endif 229#endif
226 230
227static void __init_or_module snd_mpu401_unregister_all(void) 231static void snd_mpu401_unregister_all(void)
228{ 232{
229 int i; 233 int i;
230 234