Trivial patch removing clock framework and adding pm_runtime API. Signed-off-by: Felipe Balbi <balbi@xxxxxx> --- arch/arm/plat-omap/counter-32k.c | 48 ++++++++++--------------------------- 1 files changed, 13 insertions(+), 35 deletions(-) diff --git a/arch/arm/plat-omap/counter-32k.c b/arch/arm/plat-omap/counter-32k.c index f3fcb38..7bfd67a 100644 --- a/arch/arm/plat-omap/counter-32k.c +++ b/arch/arm/plat-omap/counter-32k.c @@ -27,7 +27,7 @@ #include <linux/time.h> #include <linux/clocksource.h> #include <linux/platform_device.h> -#include <linux/clk.h> +#include <linux/pm_runtime.h> #include <linux/err.h> struct omap_counter_32k_device { @@ -37,7 +37,6 @@ struct omap_counter_32k_device { cycles_t last_cycles; struct device *dev; - struct clk *ick; void __iomem *base; /* @@ -117,7 +116,6 @@ static int __init omap_counter_32k_probe(struct platform_device *pdev) { struct omap_counter_32k_device *omap; struct resource *res; - struct clk *ick; int ret; @@ -130,11 +128,18 @@ static int __init omap_counter_32k_probe(struct platform_device *pdev) goto err0; } + pm_runtime_enable(&pdev->dev); + ret = pm_runtime_get_sync(&pdev->dev); + if (ret) { + dev_dbg(&pdev->dev, "unable to enable runtime pm\n"); + goto err1; + } + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!res) { dev_dbg(&pdev->dev, "couldn't get resource\n"); ret = -ENODEV; - goto err1; + goto err2; } base = ioremap(res->start, resource_size(res)); @@ -144,22 +149,8 @@ static int __init omap_counter_32k_probe(struct platform_device *pdev) goto err2; } - ick = clk_get(&pdev->dev, "ick"); - if (IS_ERR(ick)) { - dev_dbg(&pdev->dev, "couldn't get clock\n"); - ret = PTR_ERR(ick); - goto err3; - } - - ret = clk_enable(ick); - if (ret) { - dev_dbg(&pdev->dev, "couldn't enable clock\n"); - goto err4; - } - omap->base = base; omap->dev = &pdev->dev; - omap->ick = ick; omap->cs.name = "counter-32k"; omap->cs.rating = 250; @@ -174,7 +165,7 @@ static int __init omap_counter_32k_probe(struct platform_device *pdev) ret = clocksource_register(&omap->cs); if (ret) { dev_dbg(&pdev->dev, "failed to register clocksource\n"); - goto err5; + goto err3; } /* initialize our offset */ @@ -190,16 +181,12 @@ static int __init omap_counter_32k_probe(struct platform_device *pdev) return 0; -err5: - clk_disable(ick); - -err4: - clk_put(ick); - err3: iounmap(base); err2: + pm_runtime_put_sync(&pdev->dev); + err1: kfree(omap); @@ -211,9 +198,8 @@ static int __exit omap_counter_32k_remove(struct platform_device *pdev) { struct omap_counter_32k_device *omap = platform_get_drvdata(pdev); + pm_runtime_put_sync(&pdev->dev); clocksource_unregister(&omap->cs); - clk_disable(omap->ick); - clk_put(omap->ick); iounmap(omap->base); kfree(omap); platform_set_drvdata(pdev, NULL); @@ -221,16 +207,8 @@ static int __exit omap_counter_32k_remove(struct platform_device *pdev) return 0; } -static void omap_counter_32k_shutdown(struct platform_device *pdev) -{ - struct omap_counter_32k_device *omap = platform_get_drvdata(pdev); - - clk_disable(omap->ick); -} - static struct platform_driver omap_counter_32k_driver = { .remove = __exit_p(omap_counter_32k_remove), - .shutdown = omap_counter_32k_shutdown, .driver = { .name = "omap-counter-32k", }, -- 1.7.3.1.120.g38a18 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html