[alsa-devel] [PATCHv2 4/6] ASoC: da7213: Move set_sysclk to codec level

Adam Thomson Adam.Thomson.Opensource at diasemi.com
Tue Nov 26 18:09:06 CET 2019


On 20 November 2019 15:24, Sebastian Reichel wrote:

> Move set_sysclk function to component level, so that it can be used at
> both component and DAI level.
> 
> Signed-off-by: Sebastian Reichel <sebastian.reichel at collabora.com>

Reviewed-by: Adam Thomson <Adam.Thomson.Opensource at diasemi.com>

> ---
>  sound/soc/codecs/da7213.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/sound/soc/codecs/da7213.c b/sound/soc/codecs/da7213.c
> index 0359249118d0..9686948b16ea 100644
> --- a/sound/soc/codecs/da7213.c
> +++ b/sound/soc/codecs/da7213.c
> @@ -1343,10 +1343,10 @@ static int da7213_mute(struct snd_soc_dai *dai, int
> mute)
>  #define DA7213_FORMATS (SNDRV_PCM_FMTBIT_S16_LE |
> SNDRV_PCM_FMTBIT_S20_3LE |\
>  			SNDRV_PCM_FMTBIT_S24_LE |
> SNDRV_PCM_FMTBIT_S32_LE)
> 
> -static int da7213_set_dai_sysclk(struct snd_soc_dai *codec_dai,
> -				 int clk_id, unsigned int freq, int dir)
> +static int da7213_set_component_sysclk(struct snd_soc_component
> *component,
> +				       int clk_id, int source,
> +				       unsigned int freq, int dir)
>  {
> -	struct snd_soc_component *component = codec_dai->component;
>  	struct da7213_priv *da7213 =
> snd_soc_component_get_drvdata(component);
>  	int ret = 0;
> 
> @@ -1354,7 +1354,7 @@ static int da7213_set_dai_sysclk(struct snd_soc_dai
> *codec_dai,
>  		return 0;
> 
>  	if (((freq < 5000000) && (freq != 32768)) || (freq > 54000000)) {
> -		dev_err(codec_dai->dev, "Unsupported MCLK value %d\n",
> +		dev_err(component->dev, "Unsupported MCLK value %d\n",
>  			freq);
>  		return -EINVAL;
>  	}
> @@ -1370,7 +1370,7 @@ static int da7213_set_dai_sysclk(struct snd_soc_dai
> *codec_dai,
>  				    DA7213_PLL_MCLK_SQR_EN);
>  		break;
>  	default:
> -		dev_err(codec_dai->dev, "Unknown clock source %d\n", clk_id);
> +		dev_err(component->dev, "Unknown clock source %d\n",
> clk_id);
>  		return -EINVAL;
>  	}
> 
> @@ -1380,7 +1380,7 @@ static int da7213_set_dai_sysclk(struct snd_soc_dai
> *codec_dai,
>  		freq = clk_round_rate(da7213->mclk, freq);
>  		ret = clk_set_rate(da7213->mclk, freq);
>  		if (ret) {
> -			dev_err(codec_dai->dev, "Failed to set clock rate %d\n",
> +			dev_err(component->dev, "Failed to set clock rate
> %d\n",
>  				freq);
>  			return ret;
>  		}
> @@ -1507,7 +1507,6 @@ static int da7213_set_dai_pll(struct snd_soc_dai
> *codec_dai, int pll_id,
>  static const struct snd_soc_dai_ops da7213_dai_ops = {
>  	.hw_params	= da7213_hw_params,
>  	.set_fmt	= da7213_set_dai_fmt,
> -	.set_sysclk	= da7213_set_dai_sysclk,
>  	.set_pll	= da7213_set_dai_pll,
>  	.digital_mute	= da7213_mute,
>  };
> @@ -1845,6 +1844,7 @@ static const struct snd_soc_component_driver
> soc_component_dev_da7213 = {
>  	.num_dapm_widgets	= ARRAY_SIZE(da7213_dapm_widgets),
>  	.dapm_routes		= da7213_audio_map,
>  	.num_dapm_routes	= ARRAY_SIZE(da7213_audio_map),
> +	.set_sysclk		= da7213_set_component_sysclk,
>  	.idle_bias_on		= 1,
>  	.use_pmdown_time	= 1,
>  	.endianness		= 1,
> --
> 2.24.0



More information about the Alsa-devel mailing list