On 20/01/2020 3.04, Kuninori Morimoto wrote: > From: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > > 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@xxxxxx> > Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@xxxxxxxxxxx> > --- > 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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx https://mailman.alsa-project.org/mailman/listinfo/alsa-devel