Thread (24 messages) 24 messages, 6 authors, 2020-10-28

Re: [PATCH V2 1/2] opp: Allow dev_pm_opp_get_opp_table() to return -EPROBE_DEFER

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2020-10-19 09:24:18
Also in: linux-pm, linux-samsung-soc, lkml

On 19-10-20, 10:17, Sudeep Holla wrote:
On Mon, Oct 19, 2020 at 10:28:27AM +0530, Viresh Kumar wrote:
quoted
On 16-10-20, 12:12, Sudeep Holla wrote:
quoted
On Fri, Oct 16, 2020 at 07:00:21AM +0100, Sudeep Holla wrote:
quoted
On Fri, Oct 16, 2020 at 09:54:34AM +0530, Viresh Kumar wrote:
quoted
On 15-10-20, 19:05, Sudeep Holla wrote:
quoted
OK, this breaks with SCMI which doesn't provide clocks but manage OPPs
directly. Before this change clk_get(dev..) was allowed to fail and
--EPROBE_DEFER was not an error.
I think the change in itself is fine. We should be returning from
there if we get EPROBE_DEFER. The question is rather why are you
getting EPROBE_DEFER here ?
Ah OK, I didn't spend too much time, saw -EPROBE_DEFER, just reverted
this patch and it worked. I need to check it in detail yet.
You confused me earlier. As I said there will be no clock provider
registered for SCMI CPU/Dev DVFS.
	opp_table->clk = clk_get(dev, NULL);
will always return -EPROBE_DEFER as there is no clock provider for dev.
But this change now propagates that error to caller of dev_pm_opp_add
which means we can't add opp to a device if there are no clock providers.
This breaks for DVFS which don't operate separately with clocks and
regulators.
The CPUs DT node shouldn't have a clock property in such a case and I
would expect an error instead of EPROBE_DEFER then. Isn't it ?
Ideally yes, but for legacy reasons clocks property has been used for
providing OPP/DVFS handle too. While we can change and add new property
for that, it will still break old bindings.
I am not sure I understood it all. So does your platform have the
clock-names property or not for the CPUs ? And how will something
break here ?

-- 
viresh

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help