]> git.karo-electronics.de Git - linux-beck.git/commitdiff
irqchip/gic-pm: Update driver to use of_pm_clk_add_clk
authorJon Hunter <jonathanh@nvidia.com>
Tue, 16 Aug 2016 10:14:10 +0000 (11:14 +0100)
committerMarc Zyngier <marc.zyngier@arm.com>
Mon, 12 Sep 2016 18:46:28 +0000 (19:46 +0100)
Commit 498b5fdd40dd ("PM / clk: Add support for adding a specific clock
from device-tree") add a new helper function for adding a clock from
device-tree to a device. Update the GIC-PM driver to use this new
function to simplify the driver.

Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
drivers/irqchip/irq-gic-pm.c

index 4cbffba3ff1357c122cb9a31b3c341a7ff6eb4dc..ecafd295c31ced5f95e81bd47daf7ec49f2a9442 100644 (file)
@@ -64,7 +64,6 @@ static int gic_runtime_suspend(struct device *dev)
 
 static int gic_get_clocks(struct device *dev, const struct gic_clk_data *data)
 {
-       struct clk *clk;
        unsigned int i;
        int ret;
 
@@ -76,28 +75,16 @@ static int gic_get_clocks(struct device *dev, const struct gic_clk_data *data)
                return ret;
 
        for (i = 0; i < data->num_clocks; i++) {
-               clk = of_clk_get_by_name(dev->of_node, data->clocks[i]);
-               if (IS_ERR(clk)) {
-                       dev_err(dev, "failed to get clock %s\n",
-                               data->clocks[i]);
-                       ret = PTR_ERR(clk);
-                       goto error;
-               }
-
-               ret = pm_clk_add_clk(dev, clk);
+               ret = of_pm_clk_add_clk(dev, data->clocks[i]);
                if (ret) {
-                       dev_err(dev, "failed to add clock at index %d\n", i);
-                       clk_put(clk);
-                       goto error;
+                       dev_err(dev, "failed to add clock %s\n",
+                               data->clocks[i]);
+                       pm_clk_destroy(dev);
+                       return ret;
                }
        }
 
        return 0;
-
-error:
-       pm_clk_destroy(dev);
-
-       return ret;
 }
 
 static int gic_probe(struct platform_device *pdev)