|
@@ -131,16 +131,15 @@ static void sh_mobile_sdhi_sdbuf_width(struct tmio_mmc_host *host, int width)
|
|
sd_ctrl_write16(host, EXT_ACC, val);
|
|
sd_ctrl_write16(host, EXT_ACC, val);
|
|
}
|
|
}
|
|
|
|
|
|
-static int sh_mobile_sdhi_clk_enable(struct platform_device *pdev, unsigned int *f)
|
|
|
|
|
|
+static int sh_mobile_sdhi_clk_enable(struct tmio_mmc_host *host)
|
|
{
|
|
{
|
|
- struct mmc_host *mmc = platform_get_drvdata(pdev);
|
|
|
|
- struct tmio_mmc_host *host = mmc_priv(mmc);
|
|
|
|
|
|
+ struct mmc_host *mmc = host->mmc;
|
|
struct sh_mobile_sdhi *priv = host_to_priv(host);
|
|
struct sh_mobile_sdhi *priv = host_to_priv(host);
|
|
int ret = clk_prepare_enable(priv->clk);
|
|
int ret = clk_prepare_enable(priv->clk);
|
|
if (ret < 0)
|
|
if (ret < 0)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
- *f = clk_get_rate(priv->clk);
|
|
|
|
|
|
+ mmc->f_max = clk_get_rate(priv->clk);
|
|
|
|
|
|
/* enable 16bit data access on SDBUF as default */
|
|
/* enable 16bit data access on SDBUF as default */
|
|
sh_mobile_sdhi_sdbuf_width(host, 16);
|
|
sh_mobile_sdhi_sdbuf_width(host, 16);
|
|
@@ -148,11 +147,10 @@ static int sh_mobile_sdhi_clk_enable(struct platform_device *pdev, unsigned int
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
-static void sh_mobile_sdhi_clk_disable(struct platform_device *pdev)
|
|
|
|
|
|
+static void sh_mobile_sdhi_clk_disable(struct tmio_mmc_host *host)
|
|
{
|
|
{
|
|
- struct mmc_host *mmc = platform_get_drvdata(pdev);
|
|
|
|
- struct tmio_mmc_host *host = mmc_priv(mmc);
|
|
|
|
struct sh_mobile_sdhi *priv = host_to_priv(host);
|
|
struct sh_mobile_sdhi *priv = host_to_priv(host);
|
|
|
|
+
|
|
clk_disable_unprepare(priv->clk);
|
|
clk_disable_unprepare(priv->clk);
|
|
}
|
|
}
|
|
|
|
|