[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