On 28 August 2012 16:13, Seungwon Jeon <tgih.jun@xxxxxxxxxxx> wrote: > On Sunday, August 26, 2012 Thomas Abraham <thomas.abraham@xxxxxxxxxx> wrote: >> Some platforms allow for clock gating and control of bus interface unit clock >> and card interface unit clock. Add support for clock lookup of optional biu >> and ciu clocks for clock gating and clock speed determination. >> >> Signed-off-by: Abhilash Kesavan <a.kesavan@xxxxxxxxxxx> >> Signed-off-by: Thomas Abraham <thomas.abraham@xxxxxxxxxx> >> --- >> drivers/mmc/host/dw_mmc.c | 42 +++++++++++++++++++++++++++++++++++++++--- >> include/linux/mmc/dw_mmc.h | 4 ++++ >> 2 files changed, 43 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/mmc/host/dw_mmc.c b/drivers/mmc/host/dw_mmc.c >> index cd58063..679473c 100644 >> --- a/drivers/mmc/host/dw_mmc.c >> +++ b/drivers/mmc/host/dw_mmc.c >> @@ -1953,18 +1953,38 @@ int dw_mci_probe(struct dw_mci *host) >> return -ENODEV; >> } >> >> - if (!host->pdata->bus_hz) { >> + host->biu_clk = clk_get(host->dev, "biu"); >> + if (IS_ERR(host->biu_clk)) >> + dev_dbg(host->dev, "biu clock not available\n"); >> + else >> + clk_prepare_enable(host->biu_clk); >> + >> + host->ciu_clk = clk_get(host->dev, "ciu"); >> + if (IS_ERR(host->ciu_clk)) >> + dev_dbg(host->dev, "ciu clock not available\n"); >> + else >> + clk_prepare_enable(host->ciu_clk); >> + >> + if (IS_ERR(host->ciu_clk)) >> + host->bus_hz = host->pdata->bus_hz; >> + else >> + host->bus_hz = clk_get_rate(host->ciu_clk); > I have remained comment in [PATCH 3/9] mmc: dw_mmc: lookup for optional biu and ciu clocks > Could I get your opinion? Are you referring to the following comment. > I have posted similar patch some time back. > bus_hz represents input rate for cclk_in of mshc. > Host of samsung soc doesn't use input clock from system directly. > As you have introduced CLKSEL in your another patch, input clock can be > changed prior to cclk_in. > For non-samsung host, we don't need to consider this with generic way? The biu and ciu clocks are generic clocks which a platform can instantiate. The other option being to use the platform data to specify the clock speed using pdata->bus_hz. The use CLKSEL register is now moved into exynos specific code. So non-samsung host is not affected in any way. Thanks, Thomas. -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html