ALSA: atmel: Convert to snd_card_new() with a device pointer
[firefly-linux-kernel-4.4.55.git] / sound / atmel / abdac.c
index 3519518e25a09612c71f1888bc097e9f088ca6ee..edf2ca72d518a3cef2058ffd7b66930bec154b01 100644 (file)
@@ -429,8 +429,9 @@ static int atmel_abdac_probe(struct platform_device *pdev)
        }
        clk_enable(pclk);
 
-       retval = snd_card_create(SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1,
-                       THIS_MODULE, sizeof(struct atmel_abdac), &card);
+       retval = snd_card_new(&pdev->dev, SNDRV_DEFAULT_IDX1,
+                             SNDRV_DEFAULT_STR1, THIS_MODULE,
+                             sizeof(struct atmel_abdac), &card);
        if (retval) {
                dev_dbg(&pdev->dev, "could not create sound card device\n");
                goto out_put_sample_clk;
@@ -467,8 +468,6 @@ static int atmel_abdac_probe(struct platform_device *pdev)
                goto out_unmap_regs;
        }
 
-       snd_card_set_dev(card, &pdev->dev);
-
        if (pdata->dws.dma_dev) {
                dma_cap_mask_t mask;
 
@@ -492,7 +491,7 @@ static int atmel_abdac_probe(struct platform_device *pdev)
        if (!pdata->dws.dma_dev || !dac->dma.chan) {
                dev_dbg(&pdev->dev, "DMA not available\n");
                retval = -ENODEV;
-               goto out_unset_card_dev;
+               goto out_unmap_regs;
        }
 
        strcpy(card->driver, "Atmel ABDAC");
@@ -521,9 +520,6 @@ static int atmel_abdac_probe(struct platform_device *pdev)
 out_release_dma:
        dma_release_channel(dac->dma.chan);
        dac->dma.chan = NULL;
-out_unset_card_dev:
-       snd_card_set_dev(card, NULL);
-       free_irq(irq, dac);
 out_unmap_regs:
        iounmap(dac->regs);
 out_free_card:
@@ -579,7 +575,6 @@ static int atmel_abdac_remove(struct platform_device *pdev)
 
        dma_release_channel(dac->dma.chan);
        dac->dma.chan = NULL;
-       snd_card_set_dev(card, NULL);
        iounmap(dac->regs);
        free_irq(dac->irq, dac);
        snd_card_free(card);