mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
clk: Use the generic OF phandle parsing in only one place
Ideally, there should be one single entry in the OF world. This way, the
DT parsing logic is always identical. At this stage, we call
of_parse_phandle_with_args() in:
- of_parse_clkspec()
- of_clk_get_parent_name()
which kinds of defeats the above statement. Furthermore, when this call
is done from of_clk_get_parent_name(), we fail to parse the
'clock-ranges' property.
Make sure DT world is entered only once by calling of_parse_clkspec()
from of_clk_get_parent_name(). Doing so implies that we do not try the
"clock-ranges" path if we already found a "clocks" property.
Suggested-by: Stephen Boyd <sboyd@kernel.org>
Fixes: 4472287a3b ("clk: Introduce of_clk_get_hw_from_clkspec()")
Signed-off-by: Miquel Raynal (Schneider Electric) <miquel.raynal@bootlin.com>
Reviewed-by: Brian Masney <bmasney@redhat.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Brian Masney <bmasney@redhat.com>
This commit is contained in:
parent
4ee1e9e1d6
commit
57d728b4ab
|
|
@ -5321,6 +5321,8 @@ static int of_parse_clkspec(const struct device_node *np, int index,
|
|||
* has a "clock-ranges" property, then we can try one of its
|
||||
* clocks.
|
||||
*/
|
||||
if (of_property_present(np, "clocks"))
|
||||
break;
|
||||
np = np->parent;
|
||||
if (np && !of_property_present(np, "clock-ranges"))
|
||||
break;
|
||||
|
|
@ -5466,8 +5468,7 @@ const char *of_clk_get_parent_name(const struct device_node *np, int index)
|
|||
int count;
|
||||
struct clk *clk;
|
||||
|
||||
rc = of_parse_phandle_with_args(np, "clocks", "#clock-cells", index,
|
||||
&clkspec);
|
||||
rc = of_parse_clkspec(np, index, NULL, &clkspec);
|
||||
if (rc)
|
||||
return NULL;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user