]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
clk: ti: dra7-atl-clock: fix child-node lookups
authorJohan Hovold <johan@kernel.org>
Sat, 11 Nov 2017 16:29:29 +0000 (17:29 +0100)
committerStephen Boyd <sboyd@codeaurora.org>
Tue, 14 Nov 2017 23:53:31 +0000 (15:53 -0800)
Fix child node-lookup during probe, which ended up searching the whole
device tree depth-first starting at parent rather than just matching on
its children.

Note that the original premature free of the parent node has already
been fixed separately, but that fix was apparently never backported to
stable.

Fixes: 9ac33b0ce81f ("CLK: TI: Driver for DRA7 ATL (Audio Tracking Logic)")
Fixes: 660e15519399 ("clk: ti: dra7-atl-clock: Fix of_node reference counting")
Cc: stable <stable@vger.kernel.org> # 3.16: 660e15519399
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/ti/clk-dra7-atl.c

index 13eb04f72389bbf68e26a12f71b74188910e8ab8..14881547043130d1e686055387a6276e49fd11f9 100644 (file)
@@ -274,8 +274,7 @@ static int of_dra7_atl_clk_probe(struct platform_device *pdev)
 
                /* Get configuration for the ATL instances */
                snprintf(prop, sizeof(prop), "atl%u", i);
-               of_node_get(node);
-               cfg_node = of_find_node_by_name(node, prop);
+               cfg_node = of_get_child_by_name(node, prop);
                if (cfg_node) {
                        ret = of_property_read_u32(cfg_node, "bws",
                                                   &cdesc->bws);