Lines Matching refs:dev
204 static int snd_cs423x_pnp_init_wss(int dev, struct pnp_dev *pdev) in snd_cs423x_pnp_init_wss() argument
207 dev_err(&pdev->dev, IDENT " WSS PnP configure failed for WSS (out of resources?)\n"); in snd_cs423x_pnp_init_wss()
210 port[dev] = pnp_port_start(pdev, 0); in snd_cs423x_pnp_init_wss()
211 if (fm_port[dev] > 0) in snd_cs423x_pnp_init_wss()
212 fm_port[dev] = pnp_port_start(pdev, 1); in snd_cs423x_pnp_init_wss()
213 sb_port[dev] = pnp_port_start(pdev, 2); in snd_cs423x_pnp_init_wss()
214 irq[dev] = pnp_irq(pdev, 0); in snd_cs423x_pnp_init_wss()
215 dma1[dev] = pnp_dma(pdev, 0); in snd_cs423x_pnp_init_wss()
216 dma2[dev] = pnp_dma(pdev, 1) == 4 ? -1 : (int)pnp_dma(pdev, 1); in snd_cs423x_pnp_init_wss()
217 dev_dbg(&pdev->dev, in snd_cs423x_pnp_init_wss()
219 port[dev], fm_port[dev], sb_port[dev]); in snd_cs423x_pnp_init_wss()
220 dev_dbg(&pdev->dev, in snd_cs423x_pnp_init_wss()
222 irq[dev], dma1[dev], dma2[dev]); in snd_cs423x_pnp_init_wss()
227 static int snd_cs423x_pnp_init_ctrl(int dev, struct pnp_dev *pdev) in snd_cs423x_pnp_init_ctrl() argument
230 dev_err(&pdev->dev, IDENT " CTRL PnP configure failed for WSS (out of resources?)\n"); in snd_cs423x_pnp_init_ctrl()
233 cport[dev] = pnp_port_start(pdev, 0); in snd_cs423x_pnp_init_ctrl()
234 dev_dbg(&pdev->dev, "isapnp CTRL: control port=0x%lx\n", cport[dev]); in snd_cs423x_pnp_init_ctrl()
239 static int snd_cs423x_pnp_init_mpu(int dev, struct pnp_dev *pdev) in snd_cs423x_pnp_init_mpu() argument
242 dev_err(&pdev->dev, IDENT " MPU401 PnP configure failed for WSS (out of resources?)\n"); in snd_cs423x_pnp_init_mpu()
243 mpu_port[dev] = SNDRV_AUTO_PORT; in snd_cs423x_pnp_init_mpu()
244 mpu_irq[dev] = SNDRV_AUTO_IRQ; in snd_cs423x_pnp_init_mpu()
246 mpu_port[dev] = pnp_port_start(pdev, 0); in snd_cs423x_pnp_init_mpu()
247 if (mpu_irq[dev] >= 0 && in snd_cs423x_pnp_init_mpu()
250 mpu_irq[dev] = pnp_irq(pdev, 0); in snd_cs423x_pnp_init_mpu()
252 mpu_irq[dev] = -1; /* disable interrupt */ in snd_cs423x_pnp_init_mpu()
255 dev_dbg(&pdev->dev, "isapnp MPU: port=0x%lx, irq=%i\n", mpu_port[dev], mpu_irq[dev]); in snd_cs423x_pnp_init_mpu()
259 static int snd_card_cs423x_pnp(int dev, struct snd_card_cs4236 *acard, in snd_card_cs423x_pnp() argument
264 if (snd_cs423x_pnp_init_wss(dev, acard->wss) < 0) in snd_card_cs423x_pnp()
267 cport[dev] = pnp_port_start(cdev, 0); in snd_card_cs423x_pnp()
269 cport[dev] = -1; in snd_card_cs423x_pnp()
273 static int snd_card_cs423x_pnpc(int dev, struct snd_card_cs4236 *acard, in snd_card_cs423x_pnpc() argument
290 if (snd_cs423x_pnp_init_wss(dev, acard->wss) < 0) in snd_card_cs423x_pnpc()
294 if (acard->ctrl && cport[dev] > 0) { in snd_card_cs423x_pnpc()
295 if (snd_cs423x_pnp_init_ctrl(dev, acard->ctrl) < 0) in snd_card_cs423x_pnpc()
299 if (acard->mpu && mpu_port[dev] > 0) { in snd_card_cs423x_pnpc()
300 if (snd_cs423x_pnp_init_mpu(dev, acard->mpu) < 0) in snd_card_cs423x_pnpc()
308 #define is_isapnp_selected(dev) isapnp[dev] argument
310 #define is_isapnp_selected(dev) 0 argument
313 static int snd_cs423x_card_new(struct device *pdev, int dev, in snd_cs423x_card_new() argument
319 err = snd_devm_card_new(pdev, index[dev], id[dev], THIS_MODULE, in snd_cs423x_card_new()
327 static int snd_cs423x_probe(struct snd_card *card, int dev) in snd_cs423x_probe() argument
335 if (sb_port[dev] > 0 && sb_port[dev] != SNDRV_AUTO_PORT) { in snd_cs423x_probe()
336 if (!devm_request_region(card->dev, sb_port[dev], 16, in snd_cs423x_probe()
338 dev_err(card->dev, IDENT ": unable to register SB port at 0x%lx\n", in snd_cs423x_probe()
339 sb_port[dev]); in snd_cs423x_probe()
344 err = snd_cs4236_create(card, port[dev], cport[dev], in snd_cs423x_probe()
345 irq[dev], in snd_cs423x_probe()
346 dma1[dev], dma2[dev], in snd_cs423x_probe()
372 if (dma2[dev] < 0) in snd_cs423x_probe()
375 chip->pcm->name, chip->port, irq[dev], dma1[dev]); in snd_cs423x_probe()
379 chip->pcm->name, chip->port, irq[dev], dma1[dev], in snd_cs423x_probe()
380 dma2[dev]); in snd_cs423x_probe()
386 if (fm_port[dev] > 0 && fm_port[dev] != SNDRV_AUTO_PORT) { in snd_cs423x_probe()
388 fm_port[dev], fm_port[dev] + 2, in snd_cs423x_probe()
390 dev_warn(card->dev, IDENT ": OPL3 not detected\n"); in snd_cs423x_probe()
398 if (mpu_port[dev] > 0 && mpu_port[dev] != SNDRV_AUTO_PORT) { in snd_cs423x_probe()
399 if (mpu_irq[dev] == SNDRV_AUTO_IRQ) in snd_cs423x_probe()
400 mpu_irq[dev] = -1; in snd_cs423x_probe()
402 mpu_port[dev], 0, in snd_cs423x_probe()
403 mpu_irq[dev], NULL) < 0) in snd_cs423x_probe()
404 dev_warn(card->dev, IDENT ": MPU401 not detected\n"); in snd_cs423x_probe()
411 unsigned int dev) in snd_cs423x_isa_match() argument
413 if (!enable[dev] || is_isapnp_selected(dev)) in snd_cs423x_isa_match()
416 if (port[dev] == SNDRV_AUTO_PORT) { in snd_cs423x_isa_match()
420 if (cport[dev] == SNDRV_AUTO_PORT) { in snd_cs423x_isa_match()
424 if (irq[dev] == SNDRV_AUTO_IRQ) { in snd_cs423x_isa_match()
428 if (dma1[dev] == SNDRV_AUTO_DMA) { in snd_cs423x_isa_match()
436 unsigned int dev) in snd_cs423x_isa_probe() argument
441 err = snd_cs423x_card_new(pdev, dev, &card); in snd_cs423x_isa_probe()
444 err = snd_cs423x_probe(card, dev); in snd_cs423x_isa_probe()
468 static int snd_cs423x_isa_suspend(struct device *dev, unsigned int n, in snd_cs423x_isa_suspend() argument
471 return snd_cs423x_suspend(dev_get_drvdata(dev)); in snd_cs423x_isa_suspend()
474 static int snd_cs423x_isa_resume(struct device *dev, unsigned int n) in snd_cs423x_isa_resume() argument
476 return snd_cs423x_resume(dev_get_drvdata(dev)); in snd_cs423x_isa_resume()
497 static int dev; in snd_cs423x_pnpbios_detect() local
505 for (; dev < SNDRV_CARDS; dev++) { in snd_cs423x_pnpbios_detect()
506 if (enable[dev] && isapnp[dev]) in snd_cs423x_pnpbios_detect()
509 if (dev >= SNDRV_CARDS) in snd_cs423x_pnpbios_detect()
522 err = snd_cs423x_card_new(&pdev->dev, dev, &card); in snd_cs423x_pnpbios_detect()
525 err = snd_card_cs423x_pnp(dev, card->private_data, pdev, cdev); in snd_cs423x_pnpbios_detect()
527 dev_err(card->dev, "PnP BIOS detection failed for " IDENT "\n"); in snd_cs423x_pnpbios_detect()
530 err = snd_cs423x_probe(card, dev); in snd_cs423x_pnpbios_detect()
534 dev++; in snd_cs423x_pnpbios_detect()
563 static int dev; in snd_cs423x_pnpc_detect() local
567 for ( ; dev < SNDRV_CARDS; dev++) { in snd_cs423x_pnpc_detect()
568 if (enable[dev] && isapnp[dev]) in snd_cs423x_pnpc_detect()
571 if (dev >= SNDRV_CARDS) in snd_cs423x_pnpc_detect()
574 res = snd_cs423x_card_new(&pcard->card->dev, dev, &card); in snd_cs423x_pnpc_detect()
577 res = snd_card_cs423x_pnpc(dev, card->private_data, pcard, pid); in snd_cs423x_pnpc_detect()
579 dev_err(card->dev, "isapnp detection failed and probing for " IDENT in snd_cs423x_pnpc_detect()
583 res = snd_cs423x_probe(card, dev); in snd_cs423x_pnpc_detect()
587 dev++; in snd_cs423x_pnpc_detect()