Merge remote-tracking branches 'asoc/topic/max98373', 'asoc/topic/mtk', 'asoc/topic...
authorMark Brown <broonie@kernel.org>
Wed, 7 Feb 2018 11:25:44 +0000 (11:25 +0000)
committerMark Brown <broonie@kernel.org>
Wed, 7 Feb 2018 11:25:44 +0000 (11:25 +0000)
include/sound/soc.h
sound/soc/atmel/sam9g20_wm8731.c
sound/soc/codecs/max98373.c
sound/soc/codecs/max98373.h
sound/soc/mediatek/mt2701/mt2701-afe-pcm.c
sound/soc/rockchip/rk3399_gru_sound.c
sound/soc/soc-pcm.c

index b655d987fbe767bb57787cf32af21dc2f68a96c3..747fd583b9dcf2afeb75e81de56a8ad6cc604507 100644 (file)
@@ -841,7 +841,7 @@ struct snd_soc_component_driver {
        /* bits */
        unsigned int idle_bias_on:1;
        unsigned int suspend_bias_off:1;
-       unsigned int pmdown_time:1; /* care pmdown_time at stop */
+       unsigned int use_pmdown_time:1; /* care pmdown_time at stop */
        unsigned int endianness:1;
        unsigned int non_legacy_dai_naming:1;
 };
index d7469cdd90dc854a9f0db0dd5c666948ecf9bdf3..98f93e79c65472e33a161dca7b75968a7c4784d8 100644 (file)
@@ -110,16 +110,15 @@ static const struct snd_soc_dapm_route intercon[] = {
 static int at91sam9g20ek_wm8731_init(struct snd_soc_pcm_runtime *rtd)
 {
        struct snd_soc_dai *codec_dai = rtd->codec_dai;
+       struct device *dev = rtd->dev;
        int ret;
 
-       printk(KERN_DEBUG
-                       "at91sam9g20ek_wm8731 "
-                       ": at91sam9g20ek_wm8731_init() called\n");
+       dev_dbg(dev, "%s called\n", __func__);
 
        ret = snd_soc_dai_set_sysclk(codec_dai, WM8731_SYSCLK_MCLK,
-               MCLK_RATE, SND_SOC_CLOCK_IN);
+                                    MCLK_RATE, SND_SOC_CLOCK_IN);
        if (ret < 0) {
-               printk(KERN_ERR "Failed to set WM8731 SYSCLK: %d\n", ret);
+               dev_err(dev, "Failed to set WM8731 SYSCLK: %d\n", ret);
                return ret;
        }
 
@@ -179,21 +178,21 @@ static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
         */
        mclk = clk_get(NULL, "pck0");
        if (IS_ERR(mclk)) {
-               printk(KERN_ERR "ASoC: Failed to get MCLK\n");
+               dev_err(&pdev->dev, "Failed to get MCLK\n");
                ret = PTR_ERR(mclk);
                goto err;
        }
 
        pllb = clk_get(NULL, "pllb");
        if (IS_ERR(pllb)) {
-               printk(KERN_ERR "ASoC: Failed to get PLLB\n");
+               dev_err(&pdev->dev, "Failed to get PLLB\n");
                ret = PTR_ERR(pllb);
                goto err_mclk;
        }
        ret = clk_set_parent(mclk, pllb);
        clk_put(pllb);
        if (ret != 0) {
-               printk(KERN_ERR "ASoC: Failed to set MCLK parent\n");
+               dev_err(&pdev->dev, "Failed to set MCLK parent\n");
                goto err_mclk;
        }
 
@@ -236,7 +235,7 @@ static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
 
        ret = snd_soc_register_card(card);
        if (ret) {
-               printk(KERN_ERR "ASoC: snd_soc_register_card() failed\n");
+               dev_err(&pdev->dev, "snd_soc_register_card() failed\n");
        }
 
        return ret;
index 31b0864583e8fbd0c4bcb2d3240eb6b39209f0e7..562e887651291816c05c6585f17b4664fabfb2c3 100644 (file)
@@ -1,5 +1,5 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright (c) 2017, Maxim Integrated */
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (c) 2017, Maxim Integrated
 
 #include <linux/acpi.h>
 #include <linux/i2c.h>
index d0b359d0cf8c6c12dfd7571ae635109574d32aed..f6a37aa02f2665ea67dda2dcc4441763765b9f76 100644 (file)
@@ -1,5 +1,6 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* Copyright (c) 2017, Maxim Integrated */
+// SPDX-License-Identifier: GPL-2.0
+// Copyright (c) 2017, Maxim Integrated
+
 #ifndef _MAX98373_H
 #define _MAX98373_H
 
index 5bc4e00a4a297728e3afcc54a9a4018d6e04eec6..d68b53f7cefe9334220a04183dbaa2bb997cdda5 100644 (file)
@@ -1405,9 +1405,24 @@ static int mt2701_afe_runtime_resume(struct device *dev)
        return mt2701_afe_enable_clock(afe);
 }
 
-static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
+static int mt2701_afe_add_component(struct mtk_base_afe *afe)
 {
        struct snd_soc_component *component;
+
+       component = kzalloc(sizeof(*component), GFP_KERNEL);
+       if (!component)
+               return -ENOMEM;
+
+       component->regmap = afe->regmap;
+
+       return snd_soc_add_component(afe->dev, component,
+                                    &mt2701_afe_pcm_dai_component,
+                                    mt2701_afe_pcm_dais,
+                                    ARRAY_SIZE(mt2701_afe_pcm_dais));
+}
+
+static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
+{
        struct mtk_base_afe *afe;
        struct mt2701_afe_private *afe_priv;
        struct device *dev;
@@ -1477,12 +1492,6 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
                        = &mt2701_i2s_data[i][I2S_IN];
        }
 
-       component = kzalloc(sizeof(*component), GFP_KERNEL);
-       if (!component)
-               return -ENOMEM;
-
-       component->regmap = afe->regmap;
-
        afe->mtk_afe_hardware = &mt2701_afe_hardware;
        afe->memif_fs = mt2701_memif_fs;
        afe->irq_fs = mt2701_irq_fs;
@@ -1495,7 +1504,7 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
        ret = mt2701_init_clock(afe);
        if (ret) {
                dev_err(dev, "init clock error\n");
-               goto err_init_clock;
+               return ret;
        }
 
        platform_set_drvdata(pdev, afe);
@@ -1514,10 +1523,7 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
                goto err_platform;
        }
 
-       ret = snd_soc_add_component(dev, component,
-                                   &mt2701_afe_pcm_dai_component,
-                                   mt2701_afe_pcm_dais,
-                                   ARRAY_SIZE(mt2701_afe_pcm_dais));
+       ret = mt2701_afe_add_component(afe);
        if (ret) {
                dev_warn(dev, "err_dai_component\n");
                goto err_dai_component;
@@ -1531,8 +1537,6 @@ err_platform:
        pm_runtime_put_sync(dev);
 err_pm_disable:
        pm_runtime_disable(dev);
-err_init_clock:
-       kfree(component);
 
        return ret;
 }
index fa6cd1de828be95991dee4eaea9dec40f69d9fef..214bfc78cf5cd466659980db19caaa6d45922a7b 100644 (file)
@@ -368,7 +368,8 @@ static const struct snd_soc_dai_link rockchip_dais[] = {
        [DAILINK_RT5514_DSP] = {
                .name = "RT5514 DSP",
                .stream_name = "Wake on Voice",
-               .codec_dai_name = "rt5514-dsp-cpu-dai",
+               .codec_name = "snd-soc-dummy",
+               .codec_dai_name = "snd-soc-dummy-dai",
        },
 };
 
@@ -529,7 +530,18 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
                if (index < 0)
                        continue;
 
-               np_cpu = (index == DAILINK_CDNDP) ? np_cpu1 : np_cpu0;
+               switch (index) {
+               case DAILINK_CDNDP:
+                       np_cpu = np_cpu1;
+                       break;
+               case DAILINK_RT5514_DSP:
+                       np_cpu = np_codec;
+                       break;
+               default:
+                       np_cpu = np_cpu0;
+                       break;
+               }
+
                if (!np_cpu) {
                        dev_err(dev, "Missing 'rockchip,cpu' for %s\n",
                                rockchip_dais[index].name);
@@ -539,7 +551,8 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
                dai = &card->dai_link[card->num_links++];
                *dai = rockchip_dais[index];
 
-               dai->codec_of_node = np_codec;
+               if (!dai->codec_name)
+                       dai->codec_of_node = np_codec;
                dai->platform_of_node = np_cpu;
                dai->cpu_of_node = np_cpu;
 
index 998800cc44ef9ad39aa9e6ca8a01584daa5228e6..084125463d101e96ab0aa119a964ac5609e6ab06 100644 (file)
@@ -144,7 +144,7 @@ bool snd_soc_runtime_ignore_pmdown_time(struct snd_soc_pcm_runtime *rtd)
        for_each_rtdcom(rtd, rtdcom) {
                component = rtdcom->component;
 
-               ignore &= !component->driver->pmdown_time;
+               ignore &= !component->driver->use_pmdown_time;
        }
 
        /* this will be removed */