mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 23:27:06 +00:00
ASoC: soc-pcm: add snd_soc_dai_get_widget()
soc-pcm.c has dai_get_widget(), but it can be more generic. This patch renames it to snd_soc_dai_get_widget(), and use it. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87d0abjca1.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
57be92066f
commit
0c01f6ca8e
4 changed files with 16 additions and 29 deletions
|
@ -359,6 +359,14 @@ snd_soc_dai_get_pcm_stream(const struct snd_soc_dai *dai, int stream)
|
||||||
&dai->driver->playback : &dai->driver->capture;
|
&dai->driver->playback : &dai->driver->capture;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
struct snd_soc_dapm_widget *snd_soc_dai_get_widget(
|
||||||
|
struct snd_soc_dai *dai, int stream)
|
||||||
|
{
|
||||||
|
return (stream == SNDRV_PCM_STREAM_PLAYBACK) ?
|
||||||
|
dai->playback_widget : dai->capture_widget;
|
||||||
|
}
|
||||||
|
|
||||||
static inline void *snd_soc_dai_get_dma_data(const struct snd_soc_dai *dai,
|
static inline void *snd_soc_dai_get_dma_data(const struct snd_soc_dai *dai,
|
||||||
const struct snd_pcm_substream *ss)
|
const struct snd_pcm_substream *ss)
|
||||||
{
|
{
|
||||||
|
|
|
@ -112,10 +112,7 @@ static void skl_set_suspend_active(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_dapm_widget *w;
|
struct snd_soc_dapm_widget *w;
|
||||||
struct skl_dev *skl = bus_to_skl(bus);
|
struct skl_dev *skl = bus_to_skl(bus);
|
||||||
|
|
||||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
|
w = snd_soc_dai_get_widget(dai, substream->stream);
|
||||||
w = dai->playback_widget;
|
|
||||||
else
|
|
||||||
w = dai->capture_widget;
|
|
||||||
|
|
||||||
if (w->ignore_suspend && enable)
|
if (w->ignore_suspend && enable)
|
||||||
skl->supend_active++;
|
skl->supend_active++;
|
||||||
|
@ -475,10 +472,7 @@ static int skl_pcm_trigger(struct snd_pcm_substream *substream, int cmd,
|
||||||
if (!mconfig)
|
if (!mconfig)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
|
w = snd_soc_dai_get_widget(dai, substream->stream);
|
||||||
w = dai->playback_widget;
|
|
||||||
else
|
|
||||||
w = dai->capture_widget;
|
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case SNDRV_PCM_TRIGGER_RESUME:
|
case SNDRV_PCM_TRIGGER_RESUME:
|
||||||
|
|
|
@ -2620,10 +2620,7 @@ static int dapm_update_dai_unlocked(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_dapm_widget *w;
|
struct snd_soc_dapm_widget *w;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (dir == SNDRV_PCM_STREAM_PLAYBACK)
|
w = snd_soc_dai_get_widget(dai, dir);
|
||||||
w = dai->playback_widget;
|
|
||||||
else
|
|
||||||
w = dai->capture_widget;
|
|
||||||
|
|
||||||
if (!w)
|
if (!w)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -4389,10 +4386,7 @@ static void soc_dapm_dai_stream_event(struct snd_soc_dai *dai, int stream,
|
||||||
struct snd_soc_dapm_widget *w;
|
struct snd_soc_dapm_widget *w;
|
||||||
unsigned int ep;
|
unsigned int ep;
|
||||||
|
|
||||||
if (stream == SNDRV_PCM_STREAM_PLAYBACK)
|
w = snd_soc_dai_get_widget(dai, stream);
|
||||||
w = dai->playback_widget;
|
|
||||||
else
|
|
||||||
w = dai->capture_widget;
|
|
||||||
|
|
||||||
if (w) {
|
if (w) {
|
||||||
dapm_mark_dirty(w, "stream event");
|
dapm_mark_dirty(w, "stream event");
|
||||||
|
|
|
@ -82,15 +82,6 @@ static int soc_rtd_trigger(struct snd_soc_pcm_runtime *rtd,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline
|
|
||||||
struct snd_soc_dapm_widget *dai_get_widget(struct snd_soc_dai *dai, int stream)
|
|
||||||
{
|
|
||||||
if (stream == SNDRV_PCM_STREAM_PLAYBACK)
|
|
||||||
return dai->playback_widget;
|
|
||||||
else
|
|
||||||
return dai->capture_widget;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void snd_soc_runtime_action(struct snd_soc_pcm_runtime *rtd,
|
static void snd_soc_runtime_action(struct snd_soc_pcm_runtime *rtd,
|
||||||
int stream, int action)
|
int stream, int action)
|
||||||
{
|
{
|
||||||
|
@ -1242,7 +1233,7 @@ static struct snd_soc_pcm_runtime *dpcm_get_be(struct snd_soc_card *card,
|
||||||
if (!be->dai_link->no_pcm)
|
if (!be->dai_link->no_pcm)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
w = dai_get_widget(be->cpu_dai, stream);
|
w = snd_soc_dai_get_widget(be->cpu_dai, stream);
|
||||||
|
|
||||||
dev_dbg(card->dev, "ASoC: try BE : %s\n",
|
dev_dbg(card->dev, "ASoC: try BE : %s\n",
|
||||||
w ? w->name : "(not set)");
|
w ? w->name : "(not set)");
|
||||||
|
@ -1251,7 +1242,7 @@ static struct snd_soc_pcm_runtime *dpcm_get_be(struct snd_soc_card *card,
|
||||||
return be;
|
return be;
|
||||||
|
|
||||||
for_each_rtd_codec_dai(be, i, dai) {
|
for_each_rtd_codec_dai(be, i, dai) {
|
||||||
w = dai_get_widget(dai, stream);
|
w = snd_soc_dai_get_widget(dai, stream);
|
||||||
|
|
||||||
if (w == widget)
|
if (w == widget)
|
||||||
return be;
|
return be;
|
||||||
|
@ -1326,7 +1317,7 @@ static int dpcm_prune_paths(struct snd_soc_pcm_runtime *fe, int stream,
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
/* is there a valid CPU DAI widget for this BE */
|
/* is there a valid CPU DAI widget for this BE */
|
||||||
widget = dai_get_widget(dpcm->be->cpu_dai, stream);
|
widget = snd_soc_dai_get_widget(dpcm->be->cpu_dai, stream);
|
||||||
|
|
||||||
/* prune the BE if it's no longer in our active list */
|
/* prune the BE if it's no longer in our active list */
|
||||||
if (widget && widget_in_list(list, widget))
|
if (widget && widget_in_list(list, widget))
|
||||||
|
@ -1335,7 +1326,7 @@ static int dpcm_prune_paths(struct snd_soc_pcm_runtime *fe, int stream,
|
||||||
/* is there a valid CODEC DAI widget for this BE */
|
/* is there a valid CODEC DAI widget for this BE */
|
||||||
do_prune = 1;
|
do_prune = 1;
|
||||||
for_each_rtd_codec_dai(dpcm->be, i, dai) {
|
for_each_rtd_codec_dai(dpcm->be, i, dai) {
|
||||||
widget = dai_get_widget(dai, stream);
|
widget = snd_soc_dai_get_widget(dai, stream);
|
||||||
|
|
||||||
/* prune the BE if it's no longer in our active list */
|
/* prune the BE if it's no longer in our active list */
|
||||||
if (widget && widget_in_list(list, widget))
|
if (widget && widget_in_list(list, widget))
|
||||||
|
|
Loading…
Reference in a new issue