Re: [RFC PATCH 2/7] mmc: sh_mobile_sdhi: Add actual clock rate support

Sergei Shtylyov
2015-04-30T16:34:40Z

On 04/30/2015 03:31 PM, Ben Hutchings wrote:

> From: Shinobu Uehara <shinobu.uehara.xc@renesas.com>

> It is necessary to stop the SD clock before using
> the actual clock in case of SDHI controller.

> Signed-off-by: Shinobu Uehara <shinobu.uehara.xc@renesas.com>
> Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
> ---
> drivers/mmc/host/sh_mobile_sdhi.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)

> diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c
> index 6906a905cd54..92a58c6007fe 100644
> --- a/drivers/mmc/host/sh_mobile_sdhi.c
> +++ b/drivers/mmc/host/sh_mobile_sdhi.c
> @@ -136,6 +136,18 @@ static void sh_mobile_sdhi_clk_disable(struct platform_device *pdev)
> clk_disable_unprepare(priv->clk);
> }
>
> +static void sh_mobile_sdhi_set_clk_div(struct platform_device *pdev, int clk)
> +{
> + struct mmc_host *mmc = dev_get_drvdata(&pdev->dev);
> + struct tmio_mmc_host *host = mmc_priv(mmc);
> +
> + if (clk == true) {

'clk' is *int*. Perhaps, should be just *if* (clk)?

> + sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, ~0x0100 &
> + sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL));
> + sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, 0x00ff);
> + }
> +}
> +
> static int sh_mobile_sdhi_wait_idle(struct tmio_mmc_host *host)
> {
> int timeout = 1000;
[...]

WBR, Sergei