OSDN Git Service

soc: rockchip: power-domain: Use of_clk_get_parent_count() instead of open coding
authorGeert Uytterhoeven <geert+renesas@glider.be>
Wed, 18 Apr 2018 14:50:03 +0000 (16:50 +0200)
committerStephen Boyd <sboyd@kernel.org>
Wed, 2 May 2018 15:33:52 +0000 (08:33 -0700)
As of_clk_get_parent_count() returns zero on failure, while
of_count_phandle_with_args() might return a negative error code, this
also fixes the issue of possibly using a negative number in the
allocation below.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/soc/rockchip/pm_domains.c

index 53efc38..13913d4 100644 (file)
@@ -14,6 +14,7 @@
 #include <linux/pm_clock.h>
 #include <linux/pm_domain.h>
 #include <linux/of_address.h>
+#include <linux/of_clk.h>
 #include <linux/of_platform.h>
 #include <linux/clk.h>
 #include <linux/regmap.h>
@@ -400,8 +401,7 @@ static int rockchip_pm_add_one_domain(struct rockchip_pmu *pmu,
        pd->info = pd_info;
        pd->pmu = pmu;
 
-       pd->num_clks = of_count_phandle_with_args(node, "clocks",
-                                                 "#clock-cells");
+       pd->num_clks = of_clk_get_parent_count(node);
        if (pd->num_clks > 0) {
                pd->clks = devm_kcalloc(pmu->dev, pd->num_clks,
                                        sizeof(*pd->clks), GFP_KERNEL);