mmc: sh_mobile_sdhi: do not manage PM clocks manually
authorGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Thu, 9 Feb 2012 21:57:15 +0000 (22:57 +0100)
committerChris Ball <cjb@laptop.org>
Tue, 27 Mar 2012 16:20:18 +0000 (12:20 -0400)
On sh-mobile platforms the MMC clock frequency for the TMIO MMC unit is
obtained from the same clock, as the one, that runtime power-manages the
controller. The SDHI glue code has to access that clock directly,
bypassing the runtime PM framework, to get its frequency, but it
shouldn't enable or disable it.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/host/sh_mobile_sdhi.c

index cb279b4..f91c3aa 100644 (file)
@@ -117,8 +117,6 @@ static int __devinit sh_mobile_sdhi_probe(struct platform_device *pdev)
                goto eclkget;
        }
 
-       clk_enable(priv->clk);
-
        mmc_data->hclk = clk_get_rate(priv->clk);
        mmc_data->set_pwr = sh_mobile_sdhi_set_pwr;
        mmc_data->get_cd = sh_mobile_sdhi_get_cd;
@@ -233,7 +231,6 @@ eirq_sdio:
 eirq_card_detect:
        tmio_mmc_host_remove(host);
 eprobe:
-       clk_disable(priv->clk);
        clk_put(priv->clk);
 eclkget:
        kfree(priv);
@@ -259,7 +256,6 @@ static int sh_mobile_sdhi_remove(struct platform_device *pdev)
                free_irq(irq, host);
        }
 
-       clk_disable(priv->clk);
        clk_put(priv->clk);
        kfree(priv);