ASoC: sh: siu: replace platform to component
authorKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Mon, 29 Jan 2018 02:43:45 +0000 (02:43 +0000)
committerMark Brown <broonie@kernel.org>
Mon, 12 Feb 2018 11:45:15 +0000 (11:45 +0000)
Now platform can be replaced to component, let's do it.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/siu.h
sound/soc/sh/siu_dai.c
sound/soc/sh/siu_pcm.c

index 83c3430..6088d62 100644 (file)
@@ -183,7 +183,7 @@ static inline u32 siu_read32(u32 __iomem *addr)
 #define SIU_BRGBSEL    (0x108 / sizeof(u32))
 #define SIU_BRRB       (0x10c / sizeof(u32))
 
-extern struct snd_soc_platform_driver siu_platform;
+extern struct snd_soc_component_driver siu_component;
 extern struct siu_info *siu_i2s_data;
 
 int siu_init_port(int port, struct siu_port **port_info, struct snd_card *card);
index 1605029..ee22116 100644 (file)
@@ -727,10 +727,6 @@ static struct snd_soc_dai_driver siu_i2s_dai = {
        .ops = &siu_dai_ops,
 };
 
-static const struct snd_soc_component_driver siu_i2s_component = {
-       .name           = "siu-i2s",
-};
-
 static int siu_probe(struct platform_device *pdev)
 {
        const struct firmware *fw_entry;
@@ -786,15 +782,11 @@ static int siu_probe(struct platform_device *pdev)
        dev_set_drvdata(&pdev->dev, info);
 
        /* register using ARRAY version so we can keep dai name */
-       ret = devm_snd_soc_register_component(&pdev->dev, &siu_i2s_component,
+       ret = devm_snd_soc_register_component(&pdev->dev, &siu_component,
                                              &siu_i2s_dai, 1);
        if (ret < 0)
                return ret;
 
-       ret = devm_snd_soc_register_platform(&pdev->dev, &siu_platform);
-       if (ret < 0)
-               return ret;
-
        pm_runtime_enable(&pdev->dev);
 
        return 0;
index 3118cb0..1729095 100644 (file)
@@ -35,6 +35,7 @@
 
 #include "siu.h"
 
+#define DRV_NAME "siu-i2s"
 #define GET_MAX_PERIODS(buf_bytes, period_bytes) \
                                ((buf_bytes) / (period_bytes))
 #define PERIOD_OFFSET(buf_addr, period_num, period_bytes) \
@@ -340,7 +341,8 @@ static int siu_pcm_open(struct snd_pcm_substream *ss)
 {
        /* Playback / Capture */
        struct snd_soc_pcm_runtime *rtd = ss->private_data;
-       struct siu_platform *pdata = rtd->platform->dev->platform_data;
+       struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
+       struct siu_platform *pdata = component->dev->platform_data;
        struct siu_info *info = siu_i2s_data;
        struct siu_port *port_info = siu_port_info(ss);
        struct siu_stream *siu_stream;
@@ -604,9 +606,10 @@ static const struct snd_pcm_ops siu_pcm_ops = {
        .pointer        = siu_pcm_pointer_dma,
 };
 
-struct snd_soc_platform_driver siu_platform = {
+struct snd_soc_component_driver siu_component = {
+       .name           = DRV_NAME,
        .ops                    = &siu_pcm_ops,
        .pcm_new        = siu_pcm_new,
        .pcm_free       = siu_pcm_free,
 };
-EXPORT_SYMBOL_GPL(siu_platform);
+EXPORT_SYMBOL_GPL(siu_component);