Messages in this thread | | | From | Viresh Kumar <> | Subject | [PATCH 0/5] OPP: Replace custom set_opp() with config_regulators() | Date | Tue, 31 May 2022 15:39:59 +0530 |
| |
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(-)
-- 2.31.1.272.g89b43f80a514
| |