All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shawn Guo <shawn.guo@linaro.org>
To: Sascha Hauer <s.hauer@pengutronix.de>
Cc: linux-mmc@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	kernel@pengutronix.de
Subject: Re: [PATCH 1/5] mmc: sdhci-esdhc-imx: add f_max field to private data
Date: Sun, 1 Jun 2014 15:45:43 +0800	[thread overview]
Message-ID: <20140601074540.GC11061@dragon> (raw)
In-Reply-To: <1400848384-3226-2-git-send-email-s.hauer@pengutronix.de>

On Fri, May 23, 2014 at 02:33:00PM +0200, Sascha Hauer wrote:
> The driver filled in the clk and clock fields in struct
> sdhci_pltfm_host, but they are unused in the sdhci-pltfm
> code and only ever used it for internal use. This adds
> a field f_max to private data and uses it instead.
> 
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
>  drivers/mmc/host/sdhci-esdhc-imx.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index b841bb7..d530820 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -152,6 +152,7 @@ struct pltfm_imx_data {
>  	struct pinctrl_state *pins_200mhz;
>  	const struct esdhc_soc_data *socdata;
>  	struct esdhc_platform_data boarddata;
> +	unsigned long f_max;
>  	struct clk *clk_ipg;
>  	struct clk *clk_ahb;
>  	struct clk *clk_per;
> @@ -574,19 +575,16 @@ static unsigned int esdhc_pltfm_get_max_clock(struct sdhci_host *host)
>  {
>  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
>  	struct pltfm_imx_data *imx_data = pltfm_host->priv;
> -	struct esdhc_platform_data *boarddata = &imx_data->boarddata;
>  
> -	if (boarddata->f_max && (boarddata->f_max < pltfm_host->clock))
> -		return boarddata->f_max;
> -	else
> -		return pltfm_host->clock;
> +	return imx_data->f_max;
>  }
>  
>  static unsigned int esdhc_pltfm_get_min_clock(struct sdhci_host *host)
>  {
>  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
> +	struct pltfm_imx_data *imx_data = pltfm_host->priv;
>  
> -	return pltfm_host->clock / 256 / 16;
> +	return imx_data->f_max / 256 / 16;
>  }
>  
>  static inline void esdhc_pltfm_set_clock(struct sdhci_host *host,
> @@ -594,7 +592,7 @@ static inline void esdhc_pltfm_set_clock(struct sdhci_host *host,
>  {
>  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
>  	struct pltfm_imx_data *imx_data = pltfm_host->priv;
> -	unsigned int host_clock = pltfm_host->clock;
> +	unsigned int host_clock = clk_get_rate(imx_data->clk_per);

Will this bring the issue that commit a974862faee1 (mmc: sdhci-esdhc-imx:
fix access hardirq-unsafe lock in atomic context) fixed back to us?

Shawn

>  	int pre_div = 2;
>  	int div = 1;
>  	u32 temp, val;
> @@ -994,8 +992,6 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
>  		goto free_sdhci;
>  	}
>  
> -	pltfm_host->clk = imx_data->clk_per;
> -	pltfm_host->clock = clk_get_rate(pltfm_host->clk);
>  	clk_prepare_enable(imx_data->clk_per);
>  	clk_prepare_enable(imx_data->clk_ipg);
>  	clk_prepare_enable(imx_data->clk_ahb);
> @@ -1051,6 +1047,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
>  					host->mmc->parent->platform_data);
>  	}
>  
> +	imx_data->f_max = clk_get_rate(imx_data->clk_per);
> +	if (boarddata->f_max && boarddata->f_max < imx_data->f_max)
> +		imx_data->f_max = boarddata->f_max;
> +
>  	/* write_protect */
>  	if (boarddata->wp_type == ESDHC_WP_GPIO) {
>  		err = mmc_gpio_request_ro(host->mmc, boarddata->wp_gpio);
> -- 
> 2.0.0.rc0
> 

WARNING: multiple messages have this Message-ID (diff)
From: shawn.guo@linaro.org (Shawn Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/5] mmc: sdhci-esdhc-imx: add f_max field to private data
Date: Sun, 1 Jun 2014 15:45:43 +0800	[thread overview]
Message-ID: <20140601074540.GC11061@dragon> (raw)
In-Reply-To: <1400848384-3226-2-git-send-email-s.hauer@pengutronix.de>

On Fri, May 23, 2014 at 02:33:00PM +0200, Sascha Hauer wrote:
> The driver filled in the clk and clock fields in struct
> sdhci_pltfm_host, but they are unused in the sdhci-pltfm
> code and only ever used it for internal use. This adds
> a field f_max to private data and uses it instead.
> 
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
>  drivers/mmc/host/sdhci-esdhc-imx.c | 18 +++++++++---------
>  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
> index b841bb7..d530820 100644
> --- a/drivers/mmc/host/sdhci-esdhc-imx.c
> +++ b/drivers/mmc/host/sdhci-esdhc-imx.c
> @@ -152,6 +152,7 @@ struct pltfm_imx_data {
>  	struct pinctrl_state *pins_200mhz;
>  	const struct esdhc_soc_data *socdata;
>  	struct esdhc_platform_data boarddata;
> +	unsigned long f_max;
>  	struct clk *clk_ipg;
>  	struct clk *clk_ahb;
>  	struct clk *clk_per;
> @@ -574,19 +575,16 @@ static unsigned int esdhc_pltfm_get_max_clock(struct sdhci_host *host)
>  {
>  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
>  	struct pltfm_imx_data *imx_data = pltfm_host->priv;
> -	struct esdhc_platform_data *boarddata = &imx_data->boarddata;
>  
> -	if (boarddata->f_max && (boarddata->f_max < pltfm_host->clock))
> -		return boarddata->f_max;
> -	else
> -		return pltfm_host->clock;
> +	return imx_data->f_max;
>  }
>  
>  static unsigned int esdhc_pltfm_get_min_clock(struct sdhci_host *host)
>  {
>  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
> +	struct pltfm_imx_data *imx_data = pltfm_host->priv;
>  
> -	return pltfm_host->clock / 256 / 16;
> +	return imx_data->f_max / 256 / 16;
>  }
>  
>  static inline void esdhc_pltfm_set_clock(struct sdhci_host *host,
> @@ -594,7 +592,7 @@ static inline void esdhc_pltfm_set_clock(struct sdhci_host *host,
>  {
>  	struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
>  	struct pltfm_imx_data *imx_data = pltfm_host->priv;
> -	unsigned int host_clock = pltfm_host->clock;
> +	unsigned int host_clock = clk_get_rate(imx_data->clk_per);

Will this bring the issue that commit a974862faee1 (mmc: sdhci-esdhc-imx:
fix access hardirq-unsafe lock in atomic context) fixed back to us?

Shawn

>  	int pre_div = 2;
>  	int div = 1;
>  	u32 temp, val;
> @@ -994,8 +992,6 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
>  		goto free_sdhci;
>  	}
>  
> -	pltfm_host->clk = imx_data->clk_per;
> -	pltfm_host->clock = clk_get_rate(pltfm_host->clk);
>  	clk_prepare_enable(imx_data->clk_per);
>  	clk_prepare_enable(imx_data->clk_ipg);
>  	clk_prepare_enable(imx_data->clk_ahb);
> @@ -1051,6 +1047,10 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
>  					host->mmc->parent->platform_data);
>  	}
>  
> +	imx_data->f_max = clk_get_rate(imx_data->clk_per);
> +	if (boarddata->f_max && boarddata->f_max < imx_data->f_max)
> +		imx_data->f_max = boarddata->f_max;
> +
>  	/* write_protect */
>  	if (boarddata->wp_type == ESDHC_WP_GPIO) {
>  		err = mmc_gpio_request_ro(host->mmc, boarddata->wp_gpio);
> -- 
> 2.0.0.rc0
> 

  reply	other threads:[~2014-06-01  7:46 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-23 12:32 [PATCH] MMC: use mmc_of_parse in sdhci-esdhc-imx Sascha Hauer
2014-05-23 12:32 ` Sascha Hauer
2014-05-23 12:33 ` [PATCH 1/5] mmc: sdhci-esdhc-imx: add f_max field to private data Sascha Hauer
2014-05-23 12:33   ` Sascha Hauer
2014-06-01  7:45   ` Shawn Guo [this message]
2014-06-01  7:45     ` Shawn Guo
2014-06-02  6:40     ` Sascha Hauer
2014-06-02  6:40       ` Sascha Hauer
2014-05-23 12:33 ` [PATCH 2/5] mmc: sdhci-esdhc-imx: introduce function for parsing platform_data Sascha Hauer
2014-05-23 12:33   ` Sascha Hauer
2014-05-23 12:33 ` [PATCH 3/5] mmc: sdhci-esdhc-imx: straighten SDHCI_QUIRK_BROKEN_CARD_DETECTION flag Sascha Hauer
2014-05-23 12:33   ` Sascha Hauer
2014-05-23 12:33 ` [PATCH 4/5] mmc: sdhci-esdhc-imx: use mmc_of_parse Sascha Hauer
2014-05-23 12:33   ` Sascha Hauer
2014-05-23 12:33 ` [PATCH 5/5] ARM: dts: imx51-babbage: Fix esdhc setup Sascha Hauer
2014-05-23 12:33   ` Sascha Hauer
2014-06-01 15:22   ` Shawn Guo
2014-06-01 15:22     ` Shawn Guo
2014-06-05 10:39     ` Sascha Hauer
2014-06-05 10:39       ` Sascha Hauer
2014-06-09  3:38       ` Shawn Guo
2014-06-09  3:38         ` Shawn Guo
2014-06-09  3:41   ` Shawn Guo
2014-06-09  3:41     ` Shawn Guo
2014-06-10  8:01     ` Lothar Waßmann
2014-06-10  8:01       ` Lothar Waßmann
2014-06-21  7:56   ` Shawn Guo
2014-06-21  7:56     ` Shawn Guo

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=20140601074540.GC11061@dragon \
    --to=shawn.guo@linaro.org \
    --cc=kernel@pengutronix.de \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=s.hauer@pengutronix.de \
    /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.