diff options
Diffstat (limited to 'sound/isa/azt2320.c')
-rw-r--r-- | sound/isa/azt2320.c | 50 |
1 files changed, 1 insertions, 49 deletions
diff --git a/sound/isa/azt2320.c b/sound/isa/azt2320.c index b615538a928d..bfe3a255815c 100644 --- a/sound/isa/azt2320.c +++ b/sound/isa/azt2320.c | |||
@@ -72,22 +72,6 @@ module_param_array(id, charp, NULL, 0444); | |||
72 | MODULE_PARM_DESC(id, "ID string for azt2320 based soundcard."); | 72 | MODULE_PARM_DESC(id, "ID string for azt2320 based soundcard."); |
73 | module_param_array(enable, bool, NULL, 0444); | 73 | module_param_array(enable, bool, NULL, 0444); |
74 | MODULE_PARM_DESC(enable, "Enable azt2320 based soundcard."); | 74 | MODULE_PARM_DESC(enable, "Enable azt2320 based soundcard."); |
75 | module_param_array(port, long, NULL, 0444); | ||
76 | MODULE_PARM_DESC(port, "Port # for azt2320 driver."); | ||
77 | module_param_array(wss_port, long, NULL, 0444); | ||
78 | MODULE_PARM_DESC(wss_port, "WSS Port # for azt2320 driver."); | ||
79 | module_param_array(mpu_port, long, NULL, 0444); | ||
80 | MODULE_PARM_DESC(mpu_port, "MPU-401 port # for azt2320 driver."); | ||
81 | module_param_array(fm_port, long, NULL, 0444); | ||
82 | MODULE_PARM_DESC(fm_port, "FM port # for azt2320 driver."); | ||
83 | module_param_array(irq, int, NULL, 0444); | ||
84 | MODULE_PARM_DESC(irq, "IRQ # for azt2320 driver."); | ||
85 | module_param_array(mpu_irq, int, NULL, 0444); | ||
86 | MODULE_PARM_DESC(mpu_irq, "MPU-401 IRQ # for azt2320 driver."); | ||
87 | module_param_array(dma1, int, NULL, 0444); | ||
88 | MODULE_PARM_DESC(dma1, "1st DMA # for azt2320 driver."); | ||
89 | module_param_array(dma2, int, NULL, 0444); | ||
90 | MODULE_PARM_DESC(dma2, "2nd DMA # for azt2320 driver."); | ||
91 | 75 | ||
92 | struct snd_card_azt2320 { | 76 | struct snd_card_azt2320 { |
93 | int dev_no; | 77 | int dev_no; |
@@ -121,43 +105,19 @@ static int __devinit snd_card_azt2320_pnp(int dev, struct snd_card_azt2320 *acar | |||
121 | const struct pnp_card_device_id *id) | 105 | const struct pnp_card_device_id *id) |
122 | { | 106 | { |
123 | struct pnp_dev *pdev; | 107 | struct pnp_dev *pdev; |
124 | struct pnp_resource_table * cfg = kmalloc(sizeof(struct pnp_resource_table), GFP_KERNEL); | ||
125 | int err; | 108 | int err; |
126 | 109 | ||
127 | if (!cfg) | ||
128 | return -ENOMEM; | ||
129 | |||
130 | acard->dev = pnp_request_card_device(card, id->devs[0].id, NULL); | 110 | acard->dev = pnp_request_card_device(card, id->devs[0].id, NULL); |
131 | if (acard->dev == NULL) { | 111 | if (acard->dev == NULL) |
132 | kfree(cfg); | ||
133 | return -ENODEV; | 112 | return -ENODEV; |
134 | } | ||
135 | 113 | ||
136 | acard->devmpu = pnp_request_card_device(card, id->devs[1].id, NULL); | 114 | acard->devmpu = pnp_request_card_device(card, id->devs[1].id, NULL); |
137 | 115 | ||
138 | pdev = acard->dev; | 116 | pdev = acard->dev; |
139 | pnp_init_resource_table(cfg); | ||
140 | |||
141 | /* override resources */ | ||
142 | if (port[dev] != SNDRV_AUTO_PORT) | ||
143 | pnp_resource_change(&cfg->port_resource[0], port[dev], 16); | ||
144 | if (fm_port[dev] != SNDRV_AUTO_PORT) | ||
145 | pnp_resource_change(&cfg->port_resource[1], fm_port[dev], 4); | ||
146 | if (wss_port[dev] != SNDRV_AUTO_PORT) | ||
147 | pnp_resource_change(&cfg->port_resource[2], wss_port[dev], 4); | ||
148 | if (dma1[dev] != SNDRV_AUTO_DMA) | ||
149 | pnp_resource_change(&cfg->dma_resource[0], dma1[dev], 1); | ||
150 | if (dma2[dev] != SNDRV_AUTO_DMA) | ||
151 | pnp_resource_change(&cfg->dma_resource[1], dma2[dev], 1); | ||
152 | if (irq[dev] != SNDRV_AUTO_IRQ) | ||
153 | pnp_resource_change(&cfg->irq_resource[0], irq[dev], 1); | ||
154 | if ((pnp_manual_config_dev(pdev, cfg, 0)) < 0) | ||
155 | snd_printk(KERN_ERR PFX "AUDIO the requested resources are invalid, using auto config\n"); | ||
156 | 117 | ||
157 | err = pnp_activate_dev(pdev); | 118 | err = pnp_activate_dev(pdev); |
158 | if (err < 0) { | 119 | if (err < 0) { |
159 | snd_printk(KERN_ERR PFX "AUDIO pnp configure failure\n"); | 120 | snd_printk(KERN_ERR PFX "AUDIO pnp configure failure\n"); |
160 | kfree(cfg); | ||
161 | return err; | 121 | return err; |
162 | } | 122 | } |
163 | port[dev] = pnp_port_start(pdev, 0); | 123 | port[dev] = pnp_port_start(pdev, 0); |
@@ -169,13 +129,6 @@ static int __devinit snd_card_azt2320_pnp(int dev, struct snd_card_azt2320 *acar | |||
169 | 129 | ||
170 | pdev = acard->devmpu; | 130 | pdev = acard->devmpu; |
171 | if (pdev != NULL) { | 131 | if (pdev != NULL) { |
172 | pnp_init_resource_table(cfg); | ||
173 | if (mpu_port[dev] != SNDRV_AUTO_PORT) | ||
174 | pnp_resource_change(&cfg->port_resource[0], mpu_port[dev], 2); | ||
175 | if (mpu_irq[dev] != SNDRV_AUTO_IRQ) | ||
176 | pnp_resource_change(&cfg->irq_resource[0], mpu_irq[dev], 1); | ||
177 | if ((pnp_manual_config_dev(pdev, cfg, 0)) < 0) | ||
178 | snd_printk(KERN_ERR PFX "MPU401 the requested resources are invalid, using auto config\n"); | ||
179 | err = pnp_activate_dev(pdev); | 132 | err = pnp_activate_dev(pdev); |
180 | if (err < 0) | 133 | if (err < 0) |
181 | goto __mpu_error; | 134 | goto __mpu_error; |
@@ -191,7 +144,6 @@ static int __devinit snd_card_azt2320_pnp(int dev, struct snd_card_azt2320 *acar | |||
191 | mpu_port[dev] = -1; | 144 | mpu_port[dev] = -1; |
192 | } | 145 | } |
193 | 146 | ||
194 | kfree (cfg); | ||
195 | return 0; | 147 | return 0; |
196 | } | 148 | } |
197 | 149 | ||