Skip to contentSkip to conversation

clk: qcom: common: fix legacy board-clock registration

PATCH Applied Johan Hovold 3 participants 5 messages Nov 11, 2017 – Nov 14, 2017

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

PATCH 1/2 clk: qcom: common: fix legacy board-clock registration

Make sure to search only the child nodes of "/clocks", rather than the whole device-tree depth-first starting at "/clocks" when determining whether to register a fixed clock in the legacy board-clock registration helper.

Fixes ee15faffef11 ("clk: qcom: common: Add API to register board clocks backwards compatibly")
---
 drivers/clk/qcom/common.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
drivers/clk/qcom/common.c +4 -2
index b35564c0493f..b8064a336d46 100644
@@ -133,8 +133,10 @@ static int _qcom_cc_register_board_clk(struct device *dev, const char *path,
 	int ret;
 
 	clocks_node = of_find_node_by_path("/clocks");
-	if (clocks_node)
-		node = of_find_node_by_name(clocks_node, path);
+	if (clocks_node) {
+		node = of_get_child_by_name(clocks_node, path);
+		of_node_put(clocks_node);
+	}
 
 	if (!node) {
 		fixed = devm_kzalloc(dev, sizeof(*fixed), GFP_KERNEL);
Signature · 1 line
2.15.0
#1 lore raw

PATCH 2/2 clk: ti: dra7-atl-clock: fix child-node lookups

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 <[email protected]> # 3.16: 660e15519399
Cc Peter Ujfalusi <[email protected]>
---
 drivers/clk/ti/clk-dra7-atl.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/clk/ti/clk-dra7-atl.c +1 -2
index 13eb04f72389..148815470431 100644
@@ -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);
Signature · 1 line
2.15.0
Acked-by on v1 2/2
#2 lore raw

Re: [PATCH 2/2] clk: ti: dra7-atl-clock: fix child-node lookups

Quoted 7 lines · Johan Hovold

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.

Quoted 25 lines
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 <[email protected]> # 3.16: 660e15519399
Cc Peter Ujfalusi <[email protected]>
---
 drivers/clk/ti/clk-dra7-atl.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
drivers/clk/ti/clk-dra7-atl.c +1 -2
index 13eb04f72389..148815470431 100644
@@ -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);
Signature · 4 lines
Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
Applied
#4 lore raw
In reply to Johan Hovold
Quoted 8 lines · Johan Hovold

Make sure to search only the child nodes of "/clocks", rather than the whole device-tree depth-first starting at "/clocks" when determining whether to register a fixed clock in the legacy board-clock registration helper.

Fixes ee15faffef11 ("clk: qcom: common: Add API to register board clocks backwards compatibly")

---

Applied to clk-next

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
Applied
#3 lore raw

Re: [PATCH 2/2] clk: ti: dra7-atl-clock: fix child-node lookups

In reply to Johan Hovold
Quoted 8 lines · Johan Hovold

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.

Quoted 6 lines
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 <[email protected]> # 3.16: 660e15519399
Cc Peter Ujfalusi <[email protected]>

---

Applied to clk-next

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project