diff options
Diffstat (limited to 'sound/pci/aw2/aw2-alsa.c')
| -rw-r--r-- | sound/pci/aw2/aw2-alsa.c | 98 |
1 files changed, 39 insertions, 59 deletions
diff --git a/sound/pci/aw2/aw2-alsa.c b/sound/pci/aw2/aw2-alsa.c index 1c523193146..120d0d320a6 100644 --- a/sound/pci/aw2/aw2-alsa.c +++ b/sound/pci/aw2/aw2-alsa.c @@ -112,14 +112,12 @@ struct aw2 { /********************************* * FUNCTION DECLARATIONS ********************************/ -static int __init alsa_card_aw2_init(void); -static void __exit alsa_card_aw2_exit(void); static int snd_aw2_dev_free(struct snd_device *device); -static int __devinit snd_aw2_create(struct snd_card *card, - struct pci_dev *pci, struct aw2 **rchip); -static int __devinit snd_aw2_probe(struct pci_dev *pci, - const struct pci_device_id *pci_id); -static void __devexit snd_aw2_remove(struct pci_dev *pci); +static int snd_aw2_create(struct snd_card *card, + struct pci_dev *pci, struct aw2 **rchip); +static int snd_aw2_probe(struct pci_dev *pci, + const struct pci_device_id *pci_id); +static void snd_aw2_remove(struct pci_dev *pci); static int snd_aw2_pcm_playback_open(struct snd_pcm_substream *substream); static int snd_aw2_pcm_playback_close(struct snd_pcm_substream *substream); static int snd_aw2_pcm_capture_open(struct snd_pcm_substream *substream); @@ -137,7 +135,7 @@ static snd_pcm_uframes_t snd_aw2_pcm_pointer_playback(struct snd_pcm_substream *substream); static snd_pcm_uframes_t snd_aw2_pcm_pointer_capture(struct snd_pcm_substream *substream); -static int __devinit snd_aw2_new_pcm(struct aw2 *chip); +static int snd_aw2_new_pcm(struct aw2 *chip); static int snd_aw2_control_switch_capture_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo); @@ -171,13 +169,15 @@ static DEFINE_PCI_DEVICE_TABLE(snd_aw2_ids) = { MODULE_DEVICE_TABLE(pci, snd_aw2_ids); /* pci_driver definition */ -static struct pci_driver driver = { +static struct pci_driver aw2_driver = { .name = KBUILD_MODNAME, .id_table = snd_aw2_ids, .probe = snd_aw2_probe, - .remove = __devexit_p(snd_aw2_remove), + .remove = snd_aw2_remove, }; +module_pci_driver(aw2_driver); + /* operators for playback PCM alsa interface */ static struct snd_pcm_ops snd_aw2_playback_ops = { .open = snd_aw2_pcm_playback_open, @@ -202,7 +202,7 @@ static struct snd_pcm_ops snd_aw2_capture_ops = { .pointer = snd_aw2_pcm_pointer_capture, }; -static struct snd_kcontrol_new aw2_control __devinitdata = { +static struct snd_kcontrol_new aw2_control = { .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = "PCM Capture Route", .index = 0, @@ -217,23 +217,6 @@ static struct snd_kcontrol_new aw2_control __devinitdata = { * FUNCTION IMPLEMENTATIONS ********************************/ -/* initialization of the module */ -static int __init alsa_card_aw2_init(void) -{ - snd_printdd(KERN_DEBUG "aw2: Load aw2 module\n"); - return pci_register_driver(&driver); -} - -/* clean up the module */ -static void __exit alsa_card_aw2_exit(void) -{ - snd_printdd(KERN_DEBUG "aw2: Unload aw2 module\n"); - pci_unregister_driver(&driver); -} - -module_init(alsa_card_aw2_init); -module_exit(alsa_card_aw2_exit); - /* component-destructor */ static int snd_aw2_dev_free(struct snd_device *device) { @@ -259,8 +242,8 @@ static int snd_aw2_dev_free(struct snd_device *device) } /* chip-specific constructor */ -static int __devinit snd_aw2_create(struct snd_card *card, - struct pci_dev *pci, struct aw2 **rchip) +static int snd_aw2_create(struct snd_card *card, + struct pci_dev *pci, struct aw2 **rchip) { struct aw2 *chip; int err; @@ -279,7 +262,7 @@ static int __devinit snd_aw2_create(struct snd_card *card, /* check PCI availability (32bit DMA) */ if ((pci_set_dma_mask(pci, DMA_BIT_MASK(32)) < 0) || (pci_set_consistent_dma_mask(pci, DMA_BIT_MASK(32)) < 0)) { - printk(KERN_ERR "aw2: Impossible to set 32bit mask DMA\n"); + dev_err(card->dev, "Impossible to set 32bit mask DMA\n"); pci_disable_device(pci); return -ENXIO; } @@ -307,7 +290,7 @@ static int __devinit snd_aw2_create(struct snd_card *card, pci_resource_len(pci, 0)); if (chip->iobase_virt == NULL) { - printk(KERN_ERR "aw2: unable to remap memory region"); + dev_err(card->dev, "unable to remap memory region"); pci_release_regions(pci); pci_disable_device(pci); kfree(chip); @@ -319,7 +302,7 @@ static int __devinit snd_aw2_create(struct snd_card *card, if (request_irq(pci->irq, snd_aw2_saa7146_interrupt, IRQF_SHARED, KBUILD_MODNAME, chip)) { - printk(KERN_ERR "aw2: Cannot grab irq %d\n", pci->irq); + dev_err(card->dev, "Cannot grab irq %d\n", pci->irq); iounmap(chip->iobase_virt); pci_release_regions(chip->pci); @@ -339,18 +322,16 @@ static int __devinit snd_aw2_create(struct snd_card *card, return err; } - snd_card_set_dev(card, &pci->dev); *rchip = chip; - printk(KERN_INFO - "Audiowerk 2 sound card (saa7146 chipset) detected and " - "managed\n"); + dev_info(card->dev, + "Audiowerk 2 sound card (saa7146 chipset) detected and managed\n"); return 0; } /* constructor */ -static int __devinit snd_aw2_probe(struct pci_dev *pci, - const struct pci_device_id *pci_id) +static int snd_aw2_probe(struct pci_dev *pci, + const struct pci_device_id *pci_id) { static int dev; struct snd_card *card; @@ -366,7 +347,8 @@ static int __devinit snd_aw2_probe(struct pci_dev *pci, } /* (2) Create card instance */ - err = snd_card_create(index[dev], id[dev], THIS_MODULE, 0, &card); + err = snd_card_new(&pci->dev, index[dev], id[dev], THIS_MODULE, + 0, &card); if (err < 0) return err; @@ -406,10 +388,9 @@ static int __devinit snd_aw2_probe(struct pci_dev *pci, } /* destructor */ -static void __devexit snd_aw2_remove(struct pci_dev *pci) +static void snd_aw2_remove(struct pci_dev *pci) { snd_card_free(pci_get_drvdata(pci)); - pci_set_drvdata(pci, NULL); } /* open callback */ @@ -417,7 +398,7 @@ static int snd_aw2_pcm_playback_open(struct snd_pcm_substream *substream) { struct snd_pcm_runtime *runtime = substream->runtime; - snd_printdd(KERN_DEBUG "aw2: Playback_open\n"); + dev_dbg(substream->pcm->card->dev, "Playback_open\n"); runtime->hw = snd_aw2_playback_hw; return 0; } @@ -433,7 +414,7 @@ static int snd_aw2_pcm_capture_open(struct snd_pcm_substream *substream) { struct snd_pcm_runtime *runtime = substream->runtime; - snd_printdd(KERN_DEBUG "aw2: Capture_open\n"); + dev_dbg(substream->pcm->card->dev, "Capture_open\n"); runtime->hw = snd_aw2_capture_hw; return 0; } @@ -608,7 +589,7 @@ static snd_pcm_uframes_t snd_aw2_pcm_pointer_capture(struct snd_pcm_substream } /* create a pcm device */ -static int __devinit snd_aw2_new_pcm(struct aw2 *chip) +static int snd_aw2_new_pcm(struct aw2 *chip) { struct snd_pcm *pcm_playback_ana; struct snd_pcm *pcm_playback_num; @@ -621,7 +602,7 @@ static int __devinit snd_aw2_new_pcm(struct aw2 *chip) err = snd_pcm_new(chip->card, "Audiowerk2 analog playback", 0, 1, 0, &pcm_playback_ana); if (err < 0) { - printk(KERN_ERR "aw2: snd_pcm_new error (0x%X)\n", err); + dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err); return err; } @@ -651,14 +632,15 @@ static int __devinit snd_aw2_new_pcm(struct aw2 *chip) (chip->pci), 64 * 1024, 64 * 1024); if (err) - printk(KERN_ERR "aw2: snd_pcm_lib_preallocate_pages_for_all " - "error (0x%X)\n", err); + dev_err(chip->card->dev, + "snd_pcm_lib_preallocate_pages_for_all error (0x%X)\n", + err); err = snd_pcm_new(chip->card, "Audiowerk2 digital playback", 1, 1, 0, &pcm_playback_num); if (err < 0) { - printk(KERN_ERR "aw2: snd_pcm_new error (0x%X)\n", err); + dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err); return err; } /* Creation ok */ @@ -687,17 +669,15 @@ static int __devinit snd_aw2_new_pcm(struct aw2 *chip) (chip->pci), 64 * 1024, 64 * 1024); if (err) - printk(KERN_ERR - "aw2: snd_pcm_lib_preallocate_pages_for_all error " - "(0x%X)\n", err); - - + dev_err(chip->card->dev, + "snd_pcm_lib_preallocate_pages_for_all error (0x%X)\n", + err); err = snd_pcm_new(chip->card, "Audiowerk2 capture", 2, 0, 1, &pcm_capture); if (err < 0) { - printk(KERN_ERR "aw2: snd_pcm_new error (0x%X)\n", err); + dev_err(chip->card->dev, "snd_pcm_new error (0x%X)\n", err); return err; } @@ -727,15 +707,15 @@ static int __devinit snd_aw2_new_pcm(struct aw2 *chip) (chip->pci), 64 * 1024, 64 * 1024); if (err) - printk(KERN_ERR - "aw2: snd_pcm_lib_preallocate_pages_for_all error " - "(0x%X)\n", err); + dev_err(chip->card->dev, + "snd_pcm_lib_preallocate_pages_for_all error (0x%X)\n", + err); /* Create control */ err = snd_ctl_add(chip->card, snd_ctl_new1(&aw2_control, chip)); if (err < 0) { - printk(KERN_ERR "aw2: snd_ctl_add error (0x%X)\n", err); + dev_err(chip->card->dev, "snd_ctl_add error (0x%X)\n", err); return err; } |
