Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Jon Hunter and committed by
Marc Zyngier
39a342b2 91ef8442

+5 -18
+5 -18
drivers/irqchip/irq-gic-pm.c
··· 64 64 65 65 static int gic_get_clocks(struct device *dev, const struct gic_clk_data *data) 66 66 { 67 - struct clk *clk; 68 67 unsigned int i; 69 68 int ret; 70 69 ··· 75 76 return ret; 76 77 77 78 for (i = 0; i < data->num_clocks; i++) { 78 - clk = of_clk_get_by_name(dev->of_node, data->clocks[i]); 79 - if (IS_ERR(clk)) { 80 - dev_err(dev, "failed to get clock %s\n", 81 - data->clocks[i]); 82 - ret = PTR_ERR(clk); 83 - goto error; 84 - } 85 - 86 - ret = pm_clk_add_clk(dev, clk); 79 + ret = of_pm_clk_add_clk(dev, data->clocks[i]); 87 80 if (ret) { 88 - dev_err(dev, "failed to add clock at index %d\n", i); 89 - clk_put(clk); 90 - goto error; 81 + dev_err(dev, "failed to add clock %s\n", 82 + data->clocks[i]); 83 + pm_clk_destroy(dev); 84 + return ret; 91 85 } 92 86 } 93 87 94 88 return 0; 95 - 96 - error: 97 - pm_clk_destroy(dev); 98 - 99 - return ret; 100 89 } 101 90 102 91 static int gic_probe(struct platform_device *pdev)