diff options
Diffstat (limited to 'sound/isa/sb/sb16.c')
-rw-r--r-- | sound/isa/sb/sb16.c | 40 |
1 files changed, 2 insertions, 38 deletions
diff --git a/sound/isa/sb/sb16.c b/sound/isa/sb/sb16.c index e7f9edd92626..2c201f78ce50 100644 --- a/sound/isa/sb/sb16.c +++ b/sound/isa/sb/sb16.c | |||
@@ -19,7 +19,6 @@ | |||
19 | * | 19 | * |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <sound/driver.h> | ||
23 | #include <asm/dma.h> | 22 | #include <asm/dma.h> |
24 | #include <linux/init.h> | 23 | #include <linux/init.h> |
25 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
@@ -257,44 +256,21 @@ static int __devinit snd_card_sb16_pnp(int dev, struct snd_card_sb16 *acard, | |||
257 | const struct pnp_card_device_id *id) | 256 | const struct pnp_card_device_id *id) |
258 | { | 257 | { |
259 | struct pnp_dev *pdev; | 258 | struct pnp_dev *pdev; |
260 | struct pnp_resource_table * cfg = kmalloc(sizeof(struct pnp_resource_table), GFP_KERNEL); | ||
261 | int err; | 259 | int err; |
262 | 260 | ||
263 | if (!cfg) | ||
264 | return -ENOMEM; | ||
265 | acard->dev = pnp_request_card_device(card, id->devs[0].id, NULL); | 261 | acard->dev = pnp_request_card_device(card, id->devs[0].id, NULL); |
266 | if (acard->dev == NULL) { | 262 | if (acard->dev == NULL) |
267 | kfree(cfg); | ||
268 | return -ENODEV; | 263 | return -ENODEV; |
269 | } | 264 | |
270 | #ifdef SNDRV_SBAWE_EMU8000 | 265 | #ifdef SNDRV_SBAWE_EMU8000 |
271 | acard->devwt = pnp_request_card_device(card, id->devs[1].id, acard->dev); | 266 | acard->devwt = pnp_request_card_device(card, id->devs[1].id, acard->dev); |
272 | #endif | 267 | #endif |
273 | /* Audio initialization */ | 268 | /* Audio initialization */ |
274 | pdev = acard->dev; | 269 | pdev = acard->dev; |
275 | 270 | ||
276 | pnp_init_resource_table(cfg); | ||
277 | |||
278 | /* override resources */ | ||
279 | |||
280 | if (port[dev] != SNDRV_AUTO_PORT) | ||
281 | pnp_resource_change(&cfg->port_resource[0], port[dev], 16); | ||
282 | if (mpu_port[dev] != SNDRV_AUTO_PORT) | ||
283 | pnp_resource_change(&cfg->port_resource[1], mpu_port[dev], 2); | ||
284 | if (fm_port[dev] != SNDRV_AUTO_PORT) | ||
285 | pnp_resource_change(&cfg->port_resource[2], fm_port[dev], 4); | ||
286 | if (dma8[dev] != SNDRV_AUTO_DMA) | ||
287 | pnp_resource_change(&cfg->dma_resource[0], dma8[dev], 1); | ||
288 | if (dma16[dev] != SNDRV_AUTO_DMA) | ||
289 | pnp_resource_change(&cfg->dma_resource[1], dma16[dev], 1); | ||
290 | if (irq[dev] != SNDRV_AUTO_IRQ) | ||
291 | pnp_resource_change(&cfg->irq_resource[0], irq[dev], 1); | ||
292 | if (pnp_manual_config_dev(pdev, cfg, 0) < 0) | ||
293 | snd_printk(KERN_ERR PFX "AUDIO the requested resources are invalid, using auto config\n"); | ||
294 | err = pnp_activate_dev(pdev); | 271 | err = pnp_activate_dev(pdev); |
295 | if (err < 0) { | 272 | if (err < 0) { |
296 | snd_printk(KERN_ERR PFX "AUDIO pnp configure failure\n"); | 273 | snd_printk(KERN_ERR PFX "AUDIO pnp configure failure\n"); |
297 | kfree(cfg); | ||
298 | return err; | 274 | return err; |
299 | } | 275 | } |
300 | port[dev] = pnp_port_start(pdev, 0); | 276 | port[dev] = pnp_port_start(pdev, 0); |
@@ -311,17 +287,6 @@ static int __devinit snd_card_sb16_pnp(int dev, struct snd_card_sb16 *acard, | |||
311 | /* WaveTable initialization */ | 287 | /* WaveTable initialization */ |
312 | pdev = acard->devwt; | 288 | pdev = acard->devwt; |
313 | if (pdev != NULL) { | 289 | if (pdev != NULL) { |
314 | pnp_init_resource_table(cfg); | ||
315 | |||
316 | /* override resources */ | ||
317 | |||
318 | if (awe_port[dev] != SNDRV_AUTO_PORT) { | ||
319 | pnp_resource_change(&cfg->port_resource[0], awe_port[dev], 4); | ||
320 | pnp_resource_change(&cfg->port_resource[1], awe_port[dev] + 0x400, 4); | ||
321 | pnp_resource_change(&cfg->port_resource[2], awe_port[dev] + 0x800, 4); | ||
322 | } | ||
323 | if ((pnp_manual_config_dev(pdev, cfg, 0)) < 0) | ||
324 | snd_printk(KERN_ERR PFX "WaveTable the requested resources are invalid, using auto config\n"); | ||
325 | err = pnp_activate_dev(pdev); | 290 | err = pnp_activate_dev(pdev); |
326 | if (err < 0) { | 291 | if (err < 0) { |
327 | goto __wt_error; | 292 | goto __wt_error; |
@@ -339,7 +304,6 @@ __wt_error: | |||
339 | awe_port[dev] = -1; | 304 | awe_port[dev] = -1; |
340 | } | 305 | } |
341 | #endif | 306 | #endif |
342 | kfree(cfg); | ||
343 | return 0; | 307 | return 0; |
344 | } | 308 | } |
345 | 309 | ||