mbox series

[V2,0/5] OPP: Replace custom set_opp() with config_regulators()

Message ID cover.1656664183.git.viresh.kumar@linaro.org (mailing list archive)
Headers show
Series OPP: Replace custom set_opp() with config_regulators() | expand

Message

Viresh Kumar July 1, 2022, 8:34 a.m. UTC
Hi,

Currently the custom set_opp() helper, which is implemented only for OMAP, is
responsible to set both clock and regulators for the device and may end up doing
tricky stuff behind the scene. This makes the OPP core contain special code to
support it.

This patch series tries to streamline the code path in _set_opp() in the OPP
core and minimize the platform specific code within it. The platforms provide a
config_regulators() callback now, from which they should only program the
regulators in their preferred sequence. Rest of the code sequence to program
clk, bw, required-opps, etc is common across all device and platform types and
is present in the OPP core.

Keerthy/Dave: I couldn't test it on omap, can any of you do that please ? It
builds just fine though. Also maybe you can simplify the OPP driver to drop all
restoration logic on failures, as the OPP core doesn't do any of it as well. I
can add a patch for that if you guys are fine with it.

This is pushed here along with other dependencies:

git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git opp/linux-next

V1->V2:
- Moved back to 80 column width instead of 100.
- Rebased over updated set-config API changes, which forced minor changes to
  this series as well.

Thanks.

--
Viresh

Viresh Kumar (5):
  OPP: Add support for config_regulators() helper
  OPP: Make _generic_set_opp_regulator() a config_regulators() interface
  OPP: Add dev_pm_opp_get_supplies()
  OPP: ti: Migrate to config_regulators()
  OPP: Remove custom OPP helper support

 drivers/opp/core.c          | 218 +++++++++++++-----------------------
 drivers/opp/opp.h           |   9 +-
 drivers/opp/ti-opp-supply.c |  74 ++++++------
 include/linux/pm_opp.h      |  46 ++------
 4 files changed, 125 insertions(+), 222 deletions(-)