OSDN Git Service

OMAPDSS: DSI: Use devm_clk_get()
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 2 Apr 2013 11:33:00 +0000 (14:33 +0300)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Wed, 10 Apr 2013 12:02:51 +0000 (15:02 +0300)
Using devm_clk_get cleans up some code.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
drivers/video/omap2/dss/dsi.c

index 28d41d1..36de3fe 100644 (file)
@@ -5073,7 +5073,7 @@ static int dsi_get_clocks(struct platform_device *dsidev)
        struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev);
        struct clk *clk;
 
-       clk = clk_get(&dsidev->dev, "fck");
+       clk = devm_clk_get(&dsidev->dev, "fck");
        if (IS_ERR(clk)) {
                DSSERR("can't get fck\n");
                return PTR_ERR(clk);
@@ -5081,11 +5081,9 @@ static int dsi_get_clocks(struct platform_device *dsidev)
 
        dsi->dss_clk = clk;
 
-       clk = clk_get(&dsidev->dev, "sys_clk");
+       clk = devm_clk_get(&dsidev->dev, "sys_clk");
        if (IS_ERR(clk)) {
                DSSERR("can't get sys_clk\n");
-               clk_put(dsi->dss_clk);
-               dsi->dss_clk = NULL;
                return PTR_ERR(clk);
        }
 
@@ -5094,16 +5092,6 @@ static int dsi_get_clocks(struct platform_device *dsidev)
        return 0;
 }
 
-static void dsi_put_clocks(struct platform_device *dsidev)
-{
-       struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev);
-
-       if (dsi->dss_clk)
-               clk_put(dsi->dss_clk);
-       if (dsi->sys_clk)
-               clk_put(dsi->sys_clk);
-}
-
 static struct omap_dss_device * __init dsi_find_dssdev(struct platform_device *pdev)
 {
        struct omap_dss_board_info *pdata = pdev->dev.platform_data;
@@ -5314,7 +5302,6 @@ static int __init omap_dsihw_probe(struct platform_device *dsidev)
 
 err_runtime_get:
        pm_runtime_disable(&dsidev->dev);
-       dsi_put_clocks(dsidev);
        return r;
 }
 
@@ -5330,8 +5317,6 @@ static int __exit omap_dsihw_remove(struct platform_device *dsidev)
 
        pm_runtime_disable(&dsidev->dev);
 
-       dsi_put_clocks(dsidev);
-
        if (dsi->vdds_dsi_reg != NULL) {
                if (dsi->vdds_dsi_enabled) {
                        regulator_disable(dsi->vdds_dsi_reg);