[PATCH v4 0/4] OPP API fixes and improvements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

This series fixes problems and adds features to OPP API that are required
for implementation of a power domain driver for NVIDIA Tegra SoCs.

It is a continuation of [1], where Viresh Kumar asked to factor OPP
patches into a separate series. I factored out the patches into this
series, addressed the previous review comments and re-based patches
on top of [2], which replaced some of my patches that added resource-managed
helpers.

[1] https://patchwork.ozlabs.org/project/linux-tegra/list/?series=221130
[2] https://lore.kernel.org/linux-pm/20210101165507.19486-1-tiny.windzz@xxxxxxxxx/

Changelog:

v4: - Fixed missing export of devm_pm_opp_attach_genpd(). Thanks to
      Nicolas Chauvet for catching this problem.

    - Removed a bit questionable locking from dev_pm_opp_sync_regulators()
      and dev_pm_opp_set_voltage(). We may come back to the OPP locking
      sometime later, it's not an essential problem right now. I moved
      the lock from OPP core to the PD driver for now.

    - Added "Make _set_opp_custom() work without regulators" patch,
      which is made on top of "Prepare for ->set_opp() helper to work without
      regulators" patch from Viresh Kumar. The set_opp() helper now works
      without regulators.

v3: - Reordered patches by importance.

    - Added locking to dev_pm_opp_set_voltage().

    - Reworked "Fix adding OPP entries in a wrong order if rate is unavailable"
      patch, like it was suggested by Viresh Kumar.

    - Reworked "Support set_opp() customization without requiring to use
      regulators" patch, like it was suggested by Viresh Kumar.

      The opp_table->set_opp_data is now allocated by dev_pm_opp_register_set_opp_helper().

      The set_opp_data is refcounted now and can be allocated by any other
      OPP functions if this will become needed in the future for other OPP API
      changes.

Dmitry Osipenko (4):
  opp: Export devm_pm_opp_attach_genpd()
  opp: Add dev_pm_opp_sync_regulators()
  opp: Add dev_pm_opp_set_voltage()
  opp: Make _set_opp_custom() work without regulators

 drivers/opp/core.c     | 119 +++++++++++++++++++++++++++++++++++++----
 include/linux/pm_opp.h |  12 +++++
 2 files changed, 122 insertions(+), 9 deletions(-)

-- 
2.29.2




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux