From: Ray Jui <rjui@broadcom.com>
To: Kevin Hao <haokexin@gmail.com>, linux-mmc@vger.kernel.org
Cc: Chris Ball <chris@printf.net>,
Ulf Hansson <ulf.hansson@linaro.org>,
Christian Daudt <bcm@fixthebug.org>,
Matt Porter <mporter@linaro.org>,
Florian Fainelli <f.fainelli@gmail.com>,
bcm-kernel-feedback-list@broadcom.com
Subject: Re: [PATCH v2 5/7] mmc: sdhci-bcm-kona: kill the "external_clk" member in driver private struct
Date: Fri, 27 Feb 2015 09:12:05 -0800 [thread overview]
Message-ID: <54F0A565.2050702@broadcom.com> (raw)
In-Reply-To: <1425023251-4544-6-git-send-email-haokexin@gmail.com>
Hi Kevin,
On 2/26/2015 11:47 PM, Kevin Hao wrote:
> Actually we can use the "clk" in the struct sdhci_pltfm_host. Also
> change the "external clock" to "core clock" and kill two redundant
> private functions in this driver as suggested by Ray Jui.
>
> Signed-off-by: Kevin Hao <haokexin@gmail.com>
> ---
> v2:
> - s/external clock/core clock/
> - kill the private functions sdhci_bcm_kona_get_max_clk() and sdhci_bcm_kona_get_timeout_clock()
>
> drivers/mmc/host/sdhci-bcm-kona.c | 46 +++++++++++----------------------------
> 1 file changed, 13 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/mmc/host/sdhci-bcm-kona.c b/drivers/mmc/host/sdhci-bcm-kona.c
> index 34bb8f92586e..5bc263b447b2 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;
> };
>
>
> @@ -175,24 +174,6 @@ static void sdhci_bcm_kona_card_event(struct sdhci_host *host)
> }
> }
>
> -/*
> - * Get the base clock. Use central clock source for now. Not sure if different
> - * clock speed to each dev is allowed
> - */
> -static unsigned int sdhci_bcm_kona_get_max_clk(struct sdhci_host *host)
> -{
> - struct sdhci_bcm_kona_dev *kona_dev;
> - struct sdhci_pltfm_host *pltfm_priv = sdhci_priv(host);
> - kona_dev = sdhci_pltfm_priv(pltfm_priv);
> -
> - return host->mmc->f_max;
> -}
> -
> -static unsigned int sdhci_bcm_kona_get_timeout_clock(struct sdhci_host *host)
> -{
> - return sdhci_bcm_kona_get_max_clk(host);
> -}
> -
> static void sdhci_bcm_kona_init_74_clocks(struct sdhci_host *host,
> u8 power_mode)
> {
> @@ -207,8 +188,8 @@ static void sdhci_bcm_kona_init_74_clocks(struct sdhci_host *host,
>
> static struct sdhci_ops sdhci_bcm_kona_ops = {
> .set_clock = sdhci_set_clock,
> - .get_max_clock = sdhci_bcm_kona_get_max_clk,
> - .get_timeout_clock = sdhci_bcm_kona_get_timeout_clock,
> + .get_max_clock = sdhci_pltfm_clk_get_max_clock,
> + .get_timeout_clock = sdhci_pltfm_clk_get_max_clock,
> .platform_send_init_74_clocks = sdhci_bcm_kona_init_74_clocks,
> .set_bus_width = sdhci_set_bus_width,
> .reset = sdhci_reset,
> @@ -264,21 +245,21 @@ static int sdhci_bcm_kona_probe(struct platform_device *pdev)
> goto err_pltfm_free;
> }
>
> - /* Get and enable the external clock */
> - kona_dev->external_clk = devm_clk_get(dev, NULL);
> - if (IS_ERR(kona_dev->external_clk)) {
> - dev_err(dev, "Failed to get external clock\n");
> - ret = PTR_ERR(kona_dev->external_clk);
> + /* Get and enable the core clock */
> + pltfm_priv->clk = devm_clk_get(dev, NULL);
> + if (IS_ERR(pltfm_priv->clk)) {
> + dev_err(dev, "Failed to get core clock\n");
> + ret = PTR_ERR(pltfm_priv->clk);
> goto err_pltfm_free;
> }
>
> - if (clk_set_rate(kona_dev->external_clk, host->mmc->f_max) != 0) {
> - dev_err(dev, "Failed to set rate external clock\n");
> + if (clk_set_rate(pltfm_priv->clk, host->mmc->f_max) != 0) {
> + dev_err(dev, "Failed to set rate core clock\n");
> goto err_pltfm_free;
> }
>
> - if (clk_prepare_enable(kona_dev->external_clk) != 0) {
> - dev_err(dev, "Failed to enable external clock\n");
> + if (clk_prepare_enable(pltfm_priv->clk) != 0) {
> + dev_err(dev, "Failed to enable core clock\n");
> goto err_pltfm_free;
> }
>
> @@ -333,7 +314,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 +327,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);
>
>
The change looks good to me. Thanks!
Reviewed-by: Ray Jui <rjui@broadcom.com>
next prev parent reply other threads:[~2015-02-27 17:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-27 7:47 [PATCH v2 0/7] mmc: sdhci: set .remove to sdhci_pltfm_unregister() Kevin Hao
2015-02-27 7:47 ` [PATCH v2 1/7] mmc: sdhci-dove: remove the unneeded error check Kevin Hao
2015-02-27 7:47 ` [PATCH v2 2/7] mmc: sdhci-dove: kill the driver specific private struct Kevin Hao
[not found] ` <1425023251-4544-1-git-send-email-haokexin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-02-27 7:47 ` [PATCH v2 3/7] mmc: tegra: use devm help functions to get the clk and gpio Kevin Hao
[not found] ` <1425023251-4544-4-git-send-email-haokexin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-02 6:46 ` Alexandre Courbot
2015-02-27 7:47 ` [PATCH v2 4/7] mmc: sdhci-sirf: kill the "clk" member in driver private struct Kevin Hao
2015-02-27 7:47 ` [PATCH v2 5/7] mmc: sdhci-bcm-kona: kill the "external_clk" " Kevin Hao
2015-02-27 17:12 ` Ray Jui [this message]
2015-02-27 7:47 ` [PATCH v2 6/7] mmc: sdhci: disable the clock in sdhci_pltfm_unregister() Kevin Hao
2015-02-27 7:47 ` [PATCH v2 7/7] mmc: sdhci: set the .remove to sdhci_pltfm_unregister() Kevin Hao
2015-03-05 13:46 ` [PATCH v2 0/7] mmc: sdhci: set " Ulf Hansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54F0A565.2050702@broadcom.com \
--to=rjui@broadcom.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=bcm@fixthebug.org \
--cc=chris@printf.net \
--cc=f.fainelli@gmail.com \
--cc=haokexin@gmail.com \
--cc=linux-mmc@vger.kernel.org \
--cc=mporter@linaro.org \
--cc=ulf.hansson@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.