Re: [PATCH v3 3/7] clk: Add of_clk_hw_register() API for early clk drivers

From: Jeffrey Hugo
Date: Wed Apr 10 2019 - 15:39:23 EST

On 4/10/2019 10:53 AM, Stephen Boyd wrote:
Quoting Jeffrey Hugo (2019-04-08 14:46:11)
On 4/4/2019 3:53 PM, Stephen Boyd wrote:
In some circumstances drivers register clks early and don't have access
to a struct device because the device model isn't initialized yet. Add
an API to let drivers register clks associated with a struct device_node
so that these drivers can participate in getting parent clks through DT.

NACK. This patch broke boot for me. I had to pull the below from JTAG.
What do you need to debug this?

Here's a patch to try to squash in:

No dice. Same issue.

diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c
index 709492d901a1..040ce083c89e 100644
--- a/drivers/clk/clk.c
+++ b/drivers/clk/clk.c
@@ -3662,7 +3662,7 @@ __clk_register(struct device *dev, struct device_node *np, struct clk_hw *hw)
struct clk *clk_register(struct device *dev, struct clk_hw *hw)
- return __clk_register(dev, dev->of_node, hw);
+ return __clk_register(dev, dev_of_node(dev), hw);
@@ -3678,7 +3678,7 @@ EXPORT_SYMBOL_GPL(clk_register);
int clk_hw_register(struct device *dev, struct clk_hw *hw)
- return PTR_ERR_OR_ZERO(__clk_register(dev, dev->of_node, hw));
+ return PTR_ERR_OR_ZERO(__clk_register(dev, dev_of_node(dev), hw));

Jeffrey Hugo
Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.