On 2/5/2015 7:15 PM, Kevin Hao wrote:
> Actually we can use the "clk" in the struct sdhci_pltfm_host.
> 
> Signed-off-by: Kevin Hao <[email protected]>
> ---
>  drivers/mmc/host/sdhci-bcm-kona.c | 16 +++++++---------
>  1 file changed, 7 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-bcm-kona.c 
> b/drivers/mmc/host/sdhci-bcm-kona.c
> index 34bb8f92586e..01660344e414 100644
> --- a/drivers/mmc/host/sdhci-bcm-kona.c
> +++ b/drivers/mmc/host/sdhci-bcm-kona.c
> @@ -54,7 +54,6 @@
>  
>  struct sdhci_bcm_kona_dev {
>       struct mutex    write_lock; /* protect back to back writes */
> -     struct clk      *external_clk;
>  };
>  
>  
> @@ -265,19 +264,19 @@ static int sdhci_bcm_kona_probe(struct platform_device 
> *pdev)
>       }
>  
>       /* Get and enable the external clock */

Would you mind changing the above comment to "/* Get and enable the core
clock */?

> -     kona_dev->external_clk = devm_clk_get(dev, NULL);
> -     if (IS_ERR(kona_dev->external_clk)) {
> +     pltfm_priv->clk = devm_clk_get(dev, NULL);
> +     if (IS_ERR(pltfm_priv->clk)) {
>               dev_err(dev, "Failed to get external clock\n");

Change to "Failed to get the core clock"

> -             ret = PTR_ERR(kona_dev->external_clk);
> +             ret = PTR_ERR(pltfm_priv->clk);
>               goto err_pltfm_free;
>       }
>  
> -     if (clk_set_rate(kona_dev->external_clk, host->mmc->f_max) != 0) {
> +     if (clk_set_rate(pltfm_priv->clk, host->mmc->f_max) != 0) {
>               dev_err(dev, "Failed to set rate external clock\n");
>               goto err_pltfm_free;
>       }
>  
> -     if (clk_prepare_enable(kona_dev->external_clk) != 0) {
> +     if (clk_prepare_enable(pltfm_priv->clk) != 0) {
>               dev_err(dev, "Failed to enable external clock\n");
>               goto err_pltfm_free;
>       }
> @@ -333,7 +332,7 @@ err_reset:
>       sdhci_bcm_kona_sd_reset(host);
>  
>  err_clk_disable:
> -     clk_disable_unprepare(kona_dev->external_clk);
> +     clk_disable_unprepare(pltfm_priv->clk);
>  
>  err_pltfm_free:
>       sdhci_pltfm_free(pdev);
> @@ -346,12 +345,11 @@ static int sdhci_bcm_kona_remove(struct platform_device 
> *pdev)
>  {
>       struct sdhci_host *host = platform_get_drvdata(pdev);
>       struct sdhci_pltfm_host *pltfm_priv = sdhci_priv(host);
> -     struct sdhci_bcm_kona_dev *kona_dev = sdhci_pltfm_priv(pltfm_priv);
>       int dead = (readl(host->ioaddr + SDHCI_INT_STATUS) == 0xffffffff);
>  
>       sdhci_remove_host(host, dead);
>  
> -     clk_disable_unprepare(kona_dev->external_clk);
> +     clk_disable_unprepare(pltfm_priv->clk);
>  
>       sdhci_pltfm_free(pdev);
>  
> 
Not sure if this is relevant and should be done in the same patch. But
both callbacks get_max_clock and get_timeout_clock in this driver can be
set to sdhci_pltfm_clk_get_max_clock. That will help to get rid of two
redundant private functions in this driver.

Thanks,

Ray
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to