Re: [PATCH 5/7] mmc: sdhci-bcm-kona: kill the "external_clk" member in driver private struct

Ray Jui
2015-02-06T05:51:19Z

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 <haokexin@gmail.com>
> ---
> 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