diff options
author | Jon Hunter <jonathanh@nvidia.com> | 2016-08-16 06:14:10 -0400 |
---|---|---|
committer | Marc Zyngier <marc.zyngier@arm.com> | 2016-09-12 14:46:28 -0400 |
commit | 39a342b25252f34d1dbe758b2b99bd055ff3b885 (patch) | |
tree | 42660e6aa9c553b8a41961f91822fef02a009b14 /drivers/irqchip/irq-gic-pm.c | |
parent | 91ef84428a86b75a52e15c6fe4f56b446ba75f93 (diff) |
irqchip/gic-pm: Update driver to use of_pm_clk_add_clk
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>
Diffstat (limited to 'drivers/irqchip/irq-gic-pm.c')
-rw-r--r-- | drivers/irqchip/irq-gic-pm.c | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/drivers/irqchip/irq-gic-pm.c b/drivers/irqchip/irq-gic-pm.c index 4cbffba3ff13..ecafd295c31c 100644 --- a/drivers/irqchip/irq-gic-pm.c +++ b/drivers/irqchip/irq-gic-pm.c | |||
@@ -64,7 +64,6 @@ static int gic_runtime_suspend(struct device *dev) | |||
64 | 64 | ||
65 | static int gic_get_clocks(struct device *dev, const struct gic_clk_data *data) | 65 | static int gic_get_clocks(struct device *dev, const struct gic_clk_data *data) |
66 | { | 66 | { |
67 | struct clk *clk; | ||
68 | unsigned int i; | 67 | unsigned int i; |
69 | int ret; | 68 | int ret; |
70 | 69 | ||
@@ -76,28 +75,16 @@ static int gic_get_clocks(struct device *dev, const struct gic_clk_data *data) | |||
76 | return ret; | 75 | return ret; |
77 | 76 | ||
78 | for (i = 0; i < data->num_clocks; i++) { | 77 | for (i = 0; i < data->num_clocks; i++) { |
79 | clk = of_clk_get_by_name(dev->of_node, data->clocks[i]); | 78 | ret = of_pm_clk_add_clk(dev, data->clocks[i]); |
80 | if (IS_ERR(clk)) { | ||
81 | dev_err(dev, "failed to get clock %s\n", | ||
82 | data->clocks[i]); | ||
83 | ret = PTR_ERR(clk); | ||
84 | goto error; | ||
85 | } | ||
86 | |||
87 | ret = pm_clk_add_clk(dev, clk); | ||
88 | if (ret) { | 79 | if (ret) { |
89 | dev_err(dev, "failed to add clock at index %d\n", i); | 80 | dev_err(dev, "failed to add clock %s\n", |
90 | clk_put(clk); | 81 | data->clocks[i]); |
91 | goto error; | 82 | pm_clk_destroy(dev); |
83 | return ret; | ||
92 | } | 84 | } |
93 | } | 85 | } |
94 | 86 | ||
95 | return 0; | 87 | return 0; |
96 | |||
97 | error: | ||
98 | pm_clk_destroy(dev); | ||
99 | |||
100 | return ret; | ||
101 | } | 88 | } |
102 | 89 | ||
103 | static int gic_probe(struct platform_device *pdev) | 90 | static int gic_probe(struct platform_device *pdev) |