ASoC: atmel: replace platform to component
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 29 Jan 2018 02:44:05 +0000 (02:44 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 12 Feb 2018 11:45:16 +0000 (11:45 +0000)
Now platform can be replaced to component, let's do it.
To avoid complex operation, this patch adds device pointer
to atmel_classd.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/atmel/atmel-classd.c
sound/soc/atmel/atmel-pcm-pdc.c
sound/soc/atmel/atmel-pdmic.c

index ebabed6..6bc2b72 100644 (file)
@@ -32,6 +32,7 @@ struct atmel_classd {
        struct regmap *regmap;
        struct clk *pclk;
        struct clk *gclk;
+       struct device *dev;
        int irq;
        const struct atmel_classd_pdata *pdata;
 };
@@ -165,7 +166,7 @@ atmel_classd_platform_configure_dma(struct snd_pcm_substream *substream,
        struct atmel_classd *dd = snd_soc_card_get_drvdata(rtd->card);
 
        if (params_physical_width(params) != 16) {
-               dev_err(rtd->platform->dev,
+               dev_err(dd->dev,
                        "only supports 16-bit audio data\n");
                return -EINVAL;
        }
@@ -587,6 +588,7 @@ static int atmel_classd_probe(struct platform_device *pdev)
        }
 
        dd->phy_base = res->start;
+       dd->dev = dev;
 
        dd->regmap = devm_regmap_init_mmio(dev, io_base,
                                        &atmel_classd_regmap_config);
index 91b7069..99ca23d 100644 (file)
@@ -393,7 +393,7 @@ static const struct snd_pcm_ops atmel_pcm_ops = {
        .mmap           = atmel_pcm_mmap,
 };
 
-static struct snd_soc_platform_driver atmel_soc_platform = {
+static struct snd_soc_component_driver atmel_soc_platform = {
        .ops            = &atmel_pcm_ops,
        .pcm_new        = atmel_pcm_new,
        .pcm_free       = atmel_pcm_free,
@@ -401,13 +401,13 @@ static struct snd_soc_platform_driver atmel_soc_platform = {
 
 int atmel_pcm_pdc_platform_register(struct device *dev)
 {
-       return snd_soc_register_platform(dev, &atmel_soc_platform);
+       return devm_snd_soc_register_component(dev, &atmel_soc_platform,
+                                              NULL, 0);
 }
 EXPORT_SYMBOL(atmel_pcm_pdc_platform_register);
 
 void atmel_pcm_pdc_platform_unregister(struct device *dev)
 {
-       snd_soc_unregister_platform(dev);
 }
 EXPORT_SYMBOL(atmel_pcm_pdc_platform_unregister);
 
index 8e3d34b..4eea738 100644 (file)
@@ -32,6 +32,7 @@ struct atmel_pdmic {
        struct regmap *regmap;
        struct clk *pclk;
        struct clk *gclk;
+       struct device *dev;
        int irq;
        struct snd_pcm_substream *substream;
        const struct atmel_pdmic_pdata *pdata;
@@ -206,7 +207,7 @@ atmel_pdmic_platform_configure_dma(struct snd_pcm_substream *substream,
        ret = snd_hwparams_to_dma_slave_config(substream, params,
                                               slave_config);
        if (ret) {
-               dev_err(rtd->platform->dev,
+               dev_err(dd->dev,
                        "hw params to dma slave configure failed\n");
                return ret;
        }
@@ -596,6 +597,7 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        dd->pdata = pdata;
+       dd->dev = dev;
 
        dd->irq = platform_get_irq(pdev, 0);
        if (dd->irq < 0) {