Message ID | 87ftnutr9i.wl-kuninori.morimoto.gx@renesas.com (mailing list archive) |
---|---|
State | Accepted |
Commit | aff50895269f567d1b30c688ce8d610542991b30 |
Headers | show |
Series | ASoC: consider CPU-Platform possibility | expand |
On Fri, Jun 28, 2019 at 10:18 AM Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> wrote: > commit 64ee5067cf64 ("ASoC: soc-utils: remove dummy Platform") removed > dummy Platform from ALSA SoC, but it is over-kill. What did you mean by "over-kill"?
Hi Tzung-Bi > > commit 64ee5067cf64 ("ASoC: soc-utils: remove dummy Platform") removed > > dummy Platform from ALSA SoC, but it is over-kill. > What did you mean by "over-kill"? It means we need to keep it. Thank you for your help !! Best regards --- Kuninori Morimoto
On Wed, Jul 3, 2019 at 2:56 PM Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> wrote: > > > > commit 64ee5067cf64 ("ASoC: soc-utils: remove dummy Platform") removed > > > dummy Platform from ALSA SoC, but it is over-kill. > > What did you mean by "over-kill"? > > It means we need to keep it. > Ok, I see. I overlooked it and just realized that it is a revert series.
diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c index f67e715..e3b9dd6 100644 --- a/sound/soc/soc-utils.c +++ b/sound/soc/soc-utils.c @@ -262,6 +262,26 @@ static const struct snd_pcm_hardware dummy_dma_hardware = { .periods_max = 128, }; +static int dummy_dma_open(struct snd_pcm_substream *substream) +{ + struct snd_soc_pcm_runtime *rtd = substream->private_data; + + /* BE's dont need dummy params */ + if (!rtd->dai_link->no_pcm) + snd_soc_set_runtime_hwparams(substream, &dummy_dma_hardware); + + return 0; +} + +static const struct snd_pcm_ops snd_dummy_dma_ops = { + .open = dummy_dma_open, + .ioctl = snd_pcm_lib_ioctl, +}; + +static const struct snd_soc_component_driver dummy_platform = { + .ops = &snd_dummy_dma_ops, +}; + static const struct snd_soc_component_driver dummy_codec = { .idle_bias_on = 1, .use_pmdown_time = 1, @@ -319,6 +339,11 @@ static int snd_soc_dummy_probe(struct platform_device *pdev) ret = devm_snd_soc_register_component(&pdev->dev, &dummy_codec, &dummy_dai, 1); + if (ret < 0) + return ret; + + ret = devm_snd_soc_register_component(&pdev->dev, &dummy_platform, + NULL, 0); return ret; }