mbox series

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

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

Message

Viresh Kumar May 31, 2022, 10:09 a.m. UTC
Hi,

This series is in continuation to OPP cleanups [1] posted earlier and is rebased over them.

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/config-regulators

Thanks.

--
Viresh

[1] https://lore.kernel.org/lkml/cover.1653564321.git.viresh.kumar@linaro.org/

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          | 204 +++++++++++++-----------------------
 drivers/opp/opp.h           |   9 +-
 drivers/opp/ti-opp-supply.c |  74 ++++++-------
 include/linux/pm_opp.h      |  47 +++------
 4 files changed, 118 insertions(+), 216 deletions(-)