[alsa-devel] [PATCH v2 09/17] ASoC: ti: omap-mcpdm: move .suspend/.resume to component
Peter Ujfalusi
peter.ujfalusi at ti.com
Mon Jan 20 09:26:00 CET 2020
On 20/01/2020 3.04, Kuninori Morimoto wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
>
> There is no big difference at implementation for .suspend/.resume
> between DAI driver and Component driver.
> But because some driver is using DAI version, thus ALSA SoC needs
> to keep supporting it, hence, framework becoming verbose.
> If we can switch all DAI driver .suspend/.resume to Component driver,
> we can remove verbose code from ALSA SoC.
>
> Driver is getting its private data via dai->dev.
> But dai->dev and component->dev are same dev, thus, we can convert
> these. For same reason, we can convert dai->active to
> component->active if necessary.
>
> This patch moves DAI driver .suspend/.resume to Component driver
Acked-by: Peter Ujfalusi <peter.ujfalusi at ti.com>
> Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx at renesas.com>
> ---
> sound/soc/ti/omap-mcpdm.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/sound/soc/ti/omap-mcpdm.c b/sound/soc/ti/omap-mcpdm.c
> index b8c8290..a726cd7 100644
> --- a/sound/soc/ti/omap-mcpdm.c
> +++ b/sound/soc/ti/omap-mcpdm.c
> @@ -458,11 +458,11 @@ static int omap_mcpdm_remove(struct snd_soc_dai *dai)
> }
>
> #ifdef CONFIG_PM_SLEEP
> -static int omap_mcpdm_suspend(struct snd_soc_dai *dai)
> +static int omap_mcpdm_suspend(struct snd_soc_component *component)
> {
> - struct omap_mcpdm *mcpdm = snd_soc_dai_get_drvdata(dai);
> + struct omap_mcpdm *mcpdm = snd_soc_component_get_drvdata(component);
>
> - if (dai->active) {
> + if (component->active) {
> omap_mcpdm_stop(mcpdm);
> omap_mcpdm_close_streams(mcpdm);
> }
> @@ -476,15 +476,15 @@ static int omap_mcpdm_suspend(struct snd_soc_dai *dai)
> return 0;
> }
>
> -static int omap_mcpdm_resume(struct snd_soc_dai *dai)
> +static int omap_mcpdm_resume(struct snd_soc_component *component)
> {
> - struct omap_mcpdm *mcpdm = snd_soc_dai_get_drvdata(dai);
> + struct omap_mcpdm *mcpdm = snd_soc_component_get_drvdata(component);
>
> if (mcpdm->pm_active_count) {
> while (mcpdm->pm_active_count--)
> pm_runtime_get_sync(mcpdm->dev);
>
> - if (dai->active) {
> + if (component->active) {
> omap_mcpdm_open_streams(mcpdm);
> omap_mcpdm_start(mcpdm);
> }
> @@ -504,8 +504,6 @@ static int omap_mcpdm_resume(struct snd_soc_dai *dai)
> static struct snd_soc_dai_driver omap_mcpdm_dai = {
> .probe = omap_mcpdm_probe,
> .remove = omap_mcpdm_remove,
> - .suspend = omap_mcpdm_suspend,
> - .resume = omap_mcpdm_resume,
> .probe_order = SND_SOC_COMP_ORDER_LATE,
> .remove_order = SND_SOC_COMP_ORDER_EARLY,
> .playback = {
> @@ -527,6 +525,8 @@ static struct snd_soc_dai_driver omap_mcpdm_dai = {
>
> static const struct snd_soc_component_driver omap_mcpdm_component = {
> .name = "omap-mcpdm",
> + .suspend = omap_mcpdm_suspend,
> + .resume = omap_mcpdm_resume,
> };
>
> void omap_mcpdm_configure_dn_offsets(struct snd_soc_pcm_runtime *rtd,
>
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
More information about the Alsa-devel
mailing list