[alsa-devel] [PATCH 01/14] ASoC: Intel: boards: use devm_clk_get() unconditionally

Andy Shevchenko andriy.shevchenko at linux.intel.com
Wed Aug 23 16:22:11 CEST 2017


On Tue, 2017-08-22 at 15:32 -0500, Pierre-Louis Bossart wrote:
> The clock framework was only used in Baytrail, on Cherrytrail
> the firmware takes care of the MCLK/plt_clk_3.
> 
> With the fix in 'commit d31fd43c0f9a
> ("clk: x86: Do not gate clocks enabled by the firmware")'
> 
> the firmware-managed clocks are not impacted by enable/disable
> requests make at the driver level, and the rates are identical.
> 
> Remove all checks for Baytrail and use devm_clk_get()
> unconditionally. Tested on Asus T100HA (CHT) and Asus T100TAF (BYT)
> 
> Cc: Andy Shevchenko <andriy.shevchenko at linux.intel.com>
> Signed-off-by: Pierre-Louis Bossart <pierre-
> louis.bossart at linux.intel.com>

It's a good clean up! (I believe it had been tested on CHT platforms as
well)

Reviewed-by: Andy Shevchenko <andriy.shevchenko at linux.intel.com>

P.S. Shouldn't the corresponding asm/cpu_device_id.h header, or some
other(s), be removed from inclusion as well?

> ---
>  sound/soc/intel/boards/bytcr_rt5640.c   |  2 +-
>  sound/soc/intel/boards/cht_bsw_rt5645.c | 14 ++++++--------
>  sound/soc/intel/boards/cht_bsw_rt5672.c | 26 ++++++----------------
> ----
>  3 files changed, 13 insertions(+), 29 deletions(-)
> 
> diff --git a/sound/soc/intel/boards/bytcr_rt5640.c
> b/sound/soc/intel/boards/bytcr_rt5640.c
> index 4a76b09..15b1e29 100644
> --- a/sound/soc/intel/boards/bytcr_rt5640.c
> +++ b/sound/soc/intel/boards/bytcr_rt5640.c
> @@ -891,7 +891,7 @@ static int snd_byt_rt5640_mc_probe(struct
> platform_device *pdev)
>  			byt_rt5640_cpu_dai_name;
>  	}
>  
> -	if ((byt_rt5640_quirk & BYT_RT5640_MCLK_EN) &&
> (is_valleyview())) {
> +	if (byt_rt5640_quirk & BYT_RT5640_MCLK_EN) {
>  		priv->mclk = devm_clk_get(&pdev->dev,
> "pmc_plt_clk_3");
>  		if (IS_ERR(priv->mclk)) {
>  			ret_val = PTR_ERR(priv->mclk);
> diff --git a/sound/soc/intel/boards/cht_bsw_rt5645.c
> b/sound/soc/intel/boards/cht_bsw_rt5645.c
> index 5bcde01..d553e2b 100644
> --- a/sound/soc/intel/boards/cht_bsw_rt5645.c
> +++ b/sound/soc/intel/boards/cht_bsw_rt5645.c
> @@ -682,14 +682,12 @@ static int snd_cht_mc_probe(struct
> platform_device *pdev)
>  			cht_rt5645_cpu_dai_name;
>  	}
>  
> -	if (is_valleyview()) {
> -		drv->mclk = devm_clk_get(&pdev->dev,
> "pmc_plt_clk_3");
> -		if (IS_ERR(drv->mclk)) {
> -			dev_err(&pdev->dev,
> -				"Failed to get MCLK from
> pmc_plt_clk_3: %ld\n",
> -				PTR_ERR(drv->mclk));
> -			return PTR_ERR(drv->mclk);
> -		}
> +	drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
> +	if (IS_ERR(drv->mclk)) {
> +		dev_err(&pdev->dev,
> +			"Failed to get MCLK from pmc_plt_clk_3:
> %ld\n",
> +			PTR_ERR(drv->mclk));
> +		return PTR_ERR(drv->mclk);
>  	}
>  
>  	snd_soc_card_set_drvdata(card, drv);
> diff --git a/sound/soc/intel/boards/cht_bsw_rt5672.c
> b/sound/soc/intel/boards/cht_bsw_rt5672.c
> index f597d55..ad2f27e 100644
> --- a/sound/soc/intel/boards/cht_bsw_rt5672.c
> +++ b/sound/soc/intel/boards/cht_bsw_rt5672.c
> @@ -394,18 +394,6 @@ static struct snd_soc_card snd_soc_card_cht = {
>  	.resume_post = cht_resume_post,
>  };
>  
> -static bool is_valleyview(void)
> -{
> -	static const struct x86_cpu_id cpu_ids[] = {
> -		{ X86_VENDOR_INTEL, 6, 55 }, /* Valleyview, Bay Trail
> */
> -		{}
> -	};
> -
> -	if (!x86_match_cpu(cpu_ids))
> -		return false;
> -	return true;
> -}
> -
>  #define RT5672_I2C_DEFAULT	"i2c-10EC5670:00"
>  
>  static int snd_cht_mc_probe(struct platform_device *pdev)
> @@ -439,14 +427,12 @@ static int snd_cht_mc_probe(struct
> platform_device *pdev)
>  		}
>  	}
>  
> -	if (is_valleyview()) {
> -		drv->mclk = devm_clk_get(&pdev->dev,
> "pmc_plt_clk_3");
> -		if (IS_ERR(drv->mclk)) {
> -			dev_err(&pdev->dev,
> -				"Failed to get MCLK from
> pmc_plt_clk_3: %ld\n",
> -				PTR_ERR(drv->mclk));
> -			return PTR_ERR(drv->mclk);
> -		}
> +	drv->mclk = devm_clk_get(&pdev->dev, "pmc_plt_clk_3");
> +	if (IS_ERR(drv->mclk)) {
> +		dev_err(&pdev->dev,
> +			"Failed to get MCLK from pmc_plt_clk_3:
> %ld\n",
> +			PTR_ERR(drv->mclk));
> +		return PTR_ERR(drv->mclk);
>  	}
>  	snd_soc_card_set_drvdata(&snd_soc_card_cht, drv);
>  

-- 
Andy Shevchenko <andriy.shevchenko at linux.intel.com>
Intel Finland Oy


More information about the Alsa-devel mailing list