Message ID | 871rrvym3p.wl-kuninori.morimoto.gx@renesas.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: remove DAI suspend/resume | expand |
On 20/01/2020 3.04, Kuninori Morimoto wrote: > From: Kuninori Morimoto <kuninori.morimoto.gx@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@ti.com> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@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
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,