[PATCH 16/19] ASoC: soc-card: add snd_soc_card_set_bias_level()
Ranjani Sridharan
ranjani.sridharan at linux.intel.com
Wed May 27 02:23:16 CEST 2020
On Tue, 2020-05-26 at 10:18 +0900, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
>
> Card related function should be implemented at soc-card now.
> This patch adds it.
>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> ---
> include/sound/soc-card.h | 4 ++++
> sound/soc/soc-card.c | 12 ++++++++++++
> sound/soc/soc-dapm.c | 4 ++--
> 3 files changed, 18 insertions(+), 2 deletions(-)
>
> diff --git a/include/sound/soc-card.h b/include/sound/soc-card.h
> index b338bbd08219..4bcdc1d382bf 100644
> --- a/include/sound/soc-card.h
> +++ b/include/sound/soc-card.h
> @@ -28,6 +28,10 @@ int snd_soc_card_probe(struct snd_soc_card *card);
> int snd_soc_card_late_probe(struct snd_soc_card *card);
> int snd_soc_card_remove(struct snd_soc_card *card);
>
> +int snd_soc_card_set_bias_level(struct snd_soc_card *card,
> + struct snd_soc_dapm_context *dapm,
> + enum snd_soc_bias_level level);
> +
> /* device driver data */
> static inline void snd_soc_card_set_drvdata(struct snd_soc_card
> *card,
> void *data)
> diff --git a/sound/soc/soc-card.c b/sound/soc/soc-card.c
> index 449f6cc86859..a9f25b6a4c67 100644
> --- a/sound/soc/soc-card.c
> +++ b/sound/soc/soc-card.c
> @@ -172,3 +172,15 @@ int snd_soc_card_remove(struct snd_soc_card
> *card)
>
> return soc_card_ret(card, ret);
> }
> +
> +int snd_soc_card_set_bias_level(struct snd_soc_card *card,
> + struct snd_soc_dapm_context *dapm,
> + enum snd_soc_bias_level level)
> +{
> + int ret = 0;
> +
> + if (card->set_bias_level)
> + ret = card->set_bias_level(card, dapm, level);
> +
> + return soc_card_ret(card, ret);
> +}
> diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
> index a4de3e4bc2ef..add39d24a583 100644
> --- a/sound/soc/soc-dapm.c
> +++ b/sound/soc/soc-dapm.c
> @@ -725,8 +725,8 @@ static int snd_soc_dapm_set_bias_level(struct
> snd_soc_dapm_context *dapm,
>
> trace_snd_soc_bias_level_start(card, level);
>
> - if (card && card->set_bias_level)
> - ret = card->set_bias_level(card, dapm, level);
> + if (card)
Morimoto-san,
Why not move this check inside snd_soc_card_set_bias_level() and remove
the first parameter from the function?
Thanks,
Ranjani
More information about the Alsa-devel
mailing list