]> git.baikalelectronics.ru Git - kernel.git/commit
cpufreq: scmi: Fix OPP addition failure with a dummy clock provider
authorSudeep Holla <sudeep.holla@arm.com>
Tue, 10 Nov 2020 11:10:40 +0000 (11:10 +0000)
committerViresh Kumar <viresh.kumar@linaro.org>
Tue, 17 Nov 2020 04:34:28 +0000 (10:04 +0530)
commitca1e38887abd8e794124371c35b389111e26a57f
tree6d4bef50b52f5b4227e50c07875f26ef7c740f7d
parenta6282cb0d8f10689c26cef20b8352260aac22231
cpufreq: scmi: Fix OPP addition failure with a dummy clock provider

Commit 530d242c16f1 ("opp: Allow dev_pm_opp_get_opp_table() to return
-EPROBE_DEFER") handles -EPROBE_DEFER for the clock/interconnects within
_allocate_opp_table() which is called from dev_pm_opp_add and it
now propagates the error back to the caller.

SCMI performance domain re-used clock bindings to keep it simple. However
with the above mentioned change, if clock property is present in a device
node, opps fails to get added with below errors until clk_get succeeds.

 cpu0: failed to add opp 450000000Hz
 cpu0: failed to add opps to the device
 ....(errors on cpu1-cpu4)
 cpu5: failed to add opp 450000000Hz
 cpu5: failed to add opps to the device

So, in order to fix the issue, we need to register dummy clock provider.
With the dummy clock provider, clk_get returns NULL(no errors!), then opp
core proceeds to add OPPs for the CPUs.

Cc: Rafael J. Wysocki <rjw@rjwysocki.net>
Fixes: 530d242c16f1 ("opp: Allow dev_pm_opp_get_opp_table() to return -EPROBE_DEFER")
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/cpufreq/scmi-cpufreq.c