diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 32e2fed6d143c101ab43a3503f7fe54a4cd59610..2cf2ea6b77a1ac307c22d35aed28b12d7a0da75f 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -2202,6 +2202,12 @@ struct clk *of_clk_get_from_provider(struct of_phandle_args *clkspec) return clk; } +int of_clk_get_parent_count(struct device_node *np) +{ + return of_count_phandle_with_args(np, "clocks", "#clock-cells"); +} +EXPORT_SYMBOL_GPL(of_clk_get_parent_count); + const char *of_clk_get_parent_name(struct device_node *np, int index) { struct of_phandle_args clkspec; diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h index 73bdb69f0c08150a64ac2cd4cd5bf1cca3c3ac6a..7e59253b86036b5d897a7b8e741c0ea3f5e4fdf4 100644 --- a/include/linux/clk-provider.h +++ b/include/linux/clk-provider.h @@ -472,6 +472,7 @@ void of_clk_del_provider(struct device_node *np); struct clk *of_clk_src_simple_get(struct of_phandle_args *clkspec, void *data); struct clk *of_clk_src_onecell_get(struct of_phandle_args *clkspec, void *data); +int of_clk_get_parent_count(struct device_node *np); const char *of_clk_get_parent_name(struct device_node *np, int index); void of_clk_init(const struct of_device_id *matches);