Commit 17124877 authored by Mark Brown's avatar Mark Brown

Merge remote-tracking branches 'asoc/topic/max98373', 'asoc/topic/mtk',...

Merge remote-tracking branches 'asoc/topic/max98373', 'asoc/topic/mtk', 'asoc/topic/pcm', 'asoc/topic/rockchip' and 'asoc/topic/sam9g20_wm8731' into asoc-next
...@@ -841,7 +841,7 @@ struct snd_soc_component_driver { ...@@ -841,7 +841,7 @@ struct snd_soc_component_driver {
/* bits */ /* bits */
unsigned int idle_bias_on:1; unsigned int idle_bias_on:1;
unsigned int suspend_bias_off: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 endianness:1;
unsigned int non_legacy_dai_naming:1; unsigned int non_legacy_dai_naming:1;
}; };
......
...@@ -110,16 +110,15 @@ static const struct snd_soc_dapm_route intercon[] = { ...@@ -110,16 +110,15 @@ static const struct snd_soc_dapm_route intercon[] = {
static int at91sam9g20ek_wm8731_init(struct snd_soc_pcm_runtime *rtd) static int at91sam9g20ek_wm8731_init(struct snd_soc_pcm_runtime *rtd)
{ {
struct snd_soc_dai *codec_dai = rtd->codec_dai; struct snd_soc_dai *codec_dai = rtd->codec_dai;
struct device *dev = rtd->dev;
int ret; int ret;
printk(KERN_DEBUG dev_dbg(dev, "%s called\n", __func__);
"at91sam9g20ek_wm8731 "
": at91sam9g20ek_wm8731_init() called\n");
ret = snd_soc_dai_set_sysclk(codec_dai, WM8731_SYSCLK_MCLK, 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) { 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; return ret;
} }
...@@ -179,21 +178,21 @@ static int at91sam9g20ek_audio_probe(struct platform_device *pdev) ...@@ -179,21 +178,21 @@ static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
*/ */
mclk = clk_get(NULL, "pck0"); mclk = clk_get(NULL, "pck0");
if (IS_ERR(mclk)) { 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); ret = PTR_ERR(mclk);
goto err; goto err;
} }
pllb = clk_get(NULL, "pllb"); pllb = clk_get(NULL, "pllb");
if (IS_ERR(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); ret = PTR_ERR(pllb);
goto err_mclk; goto err_mclk;
} }
ret = clk_set_parent(mclk, pllb); ret = clk_set_parent(mclk, pllb);
clk_put(pllb); clk_put(pllb);
if (ret != 0) { 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; goto err_mclk;
} }
...@@ -236,7 +235,7 @@ static int at91sam9g20ek_audio_probe(struct platform_device *pdev) ...@@ -236,7 +235,7 @@ static int at91sam9g20ek_audio_probe(struct platform_device *pdev)
ret = snd_soc_register_card(card); ret = snd_soc_register_card(card);
if (ret) { if (ret) {
printk(KERN_ERR "ASoC: snd_soc_register_card() failed\n"); dev_err(&pdev->dev, "snd_soc_register_card() failed\n");
} }
return ret; return ret;
......
/* SPDX-License-Identifier: GPL-2.0 */ // SPDX-License-Identifier: GPL-2.0
/* Copyright (c) 2017, Maxim Integrated */ // Copyright (c) 2017, Maxim Integrated
#include <linux/acpi.h> #include <linux/acpi.h>
#include <linux/i2c.h> #include <linux/i2c.h>
......
/* SPDX-License-Identifier: GPL-2.0 */ // SPDX-License-Identifier: GPL-2.0
/* Copyright (c) 2017, Maxim Integrated */ // Copyright (c) 2017, Maxim Integrated
#ifndef _MAX98373_H #ifndef _MAX98373_H
#define _MAX98373_H #define _MAX98373_H
......
...@@ -1405,9 +1405,24 @@ static int mt2701_afe_runtime_resume(struct device *dev) ...@@ -1405,9 +1405,24 @@ static int mt2701_afe_runtime_resume(struct device *dev)
return mt2701_afe_enable_clock(afe); 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; 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 mtk_base_afe *afe;
struct mt2701_afe_private *afe_priv; struct mt2701_afe_private *afe_priv;
struct device *dev; struct device *dev;
...@@ -1477,12 +1492,6 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev) ...@@ -1477,12 +1492,6 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
= &mt2701_i2s_data[i][I2S_IN]; = &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->mtk_afe_hardware = &mt2701_afe_hardware;
afe->memif_fs = mt2701_memif_fs; afe->memif_fs = mt2701_memif_fs;
afe->irq_fs = mt2701_irq_fs; afe->irq_fs = mt2701_irq_fs;
...@@ -1495,7 +1504,7 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev) ...@@ -1495,7 +1504,7 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
ret = mt2701_init_clock(afe); ret = mt2701_init_clock(afe);
if (ret) { if (ret) {
dev_err(dev, "init clock error\n"); dev_err(dev, "init clock error\n");
goto err_init_clock; return ret;
} }
platform_set_drvdata(pdev, afe); platform_set_drvdata(pdev, afe);
...@@ -1514,10 +1523,7 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev) ...@@ -1514,10 +1523,7 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
goto err_platform; goto err_platform;
} }
ret = snd_soc_add_component(dev, component, ret = mt2701_afe_add_component(afe);
&mt2701_afe_pcm_dai_component,
mt2701_afe_pcm_dais,
ARRAY_SIZE(mt2701_afe_pcm_dais));
if (ret) { if (ret) {
dev_warn(dev, "err_dai_component\n"); dev_warn(dev, "err_dai_component\n");
goto err_dai_component; goto err_dai_component;
...@@ -1531,8 +1537,6 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev) ...@@ -1531,8 +1537,6 @@ static int mt2701_afe_pcm_dev_probe(struct platform_device *pdev)
pm_runtime_put_sync(dev); pm_runtime_put_sync(dev);
err_pm_disable: err_pm_disable:
pm_runtime_disable(dev); pm_runtime_disable(dev);
err_init_clock:
kfree(component);
return ret; return ret;
} }
......
...@@ -368,7 +368,8 @@ static const struct snd_soc_dai_link rockchip_dais[] = { ...@@ -368,7 +368,8 @@ static const struct snd_soc_dai_link rockchip_dais[] = {
[DAILINK_RT5514_DSP] = { [DAILINK_RT5514_DSP] = {
.name = "RT5514 DSP", .name = "RT5514 DSP",
.stream_name = "Wake on Voice", .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, ...@@ -529,7 +530,18 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
if (index < 0) if (index < 0)
continue; 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) { if (!np_cpu) {
dev_err(dev, "Missing 'rockchip,cpu' for %s\n", dev_err(dev, "Missing 'rockchip,cpu' for %s\n",
rockchip_dais[index].name); rockchip_dais[index].name);
...@@ -539,7 +551,8 @@ static int rockchip_sound_of_parse_dais(struct device *dev, ...@@ -539,7 +551,8 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
dai = &card->dai_link[card->num_links++]; dai = &card->dai_link[card->num_links++];
*dai = rockchip_dais[index]; *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->platform_of_node = np_cpu;
dai->cpu_of_node = np_cpu; dai->cpu_of_node = np_cpu;
......
...@@ -144,7 +144,7 @@ bool snd_soc_runtime_ignore_pmdown_time(struct snd_soc_pcm_runtime *rtd) ...@@ -144,7 +144,7 @@ bool snd_soc_runtime_ignore_pmdown_time(struct snd_soc_pcm_runtime *rtd)
for_each_rtdcom(rtd, rtdcom) { for_each_rtdcom(rtd, rtdcom) {
component = rtdcom->component; component = rtdcom->component;
ignore &= !component->driver->pmdown_time; ignore &= !component->driver->use_pmdown_time;
} }
/* this will be removed */ /* this will be removed */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment