opp: Manage empty OPP tables with clk handle
authorRajendra Nayak <rnayak@codeaurora.org>
Wed, 8 Apr 2020 13:46:27 +0000 (19:16 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Mon, 13 Apr 2020 10:44:55 +0000 (16:14 +0530)
commitaca48b61f963869ccbb5cf84805a7ad68bf812cd
treea8dadc4c550744fe2aa0ba6ae46f5ae9c0bcbb67
parent8f3d9f354286745c751374f5f1fcafee6b3f3136
opp: Manage empty OPP tables with clk handle

With OPP core now supporting DVFS for IO devices, we have instances of
IO devices (same IP block) which require an OPP on some platforms/SoCs
while just needing to scale the clock on some others.

In order to avoid conditional code in every driver which supports such
devices (to check for availability of OPPs and then deciding to do
either dev_pm_opp_set_rate() or clk_set_rate()) add support to manage
empty OPP tables with a clk handle.

This makes dev_pm_opp_set_rate() equivalent of a clk_set_rate() for
devices with just a clk and no OPPs specified, and makes
dev_pm_opp_set_rate(0) bail out without throwing an error.

Signed-off-by: Rajendra Nayak <rnayak@codeaurora.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
drivers/opp/core.c