lkml.org 
[lkml]   [2022]   [Jul]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH V3 00/20] OPP: Add new configuration interface: dev_pm_opp_set_config()
    Date
    Hello,

    We have too many configuration specific APIs currently, six of them already,
    like dev_pm_opp_set_regulators(). This makes it complex/messy for both the OPP
    core and its users to manage. There is also code redundancy in these APIs, in
    the way they add/manage the OPP table specific stuff.

    This patch series is an attempt to simplify these interfaces by adding a new
    interface, dev_pm_opp_set_config(), which is now used by all the existing ones.
    This series also migrates few users to the new API, where multiple
    configurations were required and rest are updated for API interface changes.

    This is pushed here:

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

    This was earlier tested by various folks, I have tested it again on hikey board,
    it will get further tested on linux-next in the coming days. Build test is
    already done by Linaro's bot for enough platform though.

    The entire patchset shall get merged via the OPP tree in 5.20-rc1, please do not
    merge individual patches.

    V2->V3:
    - Merged two patchsets:
    [PATCH V2 00/30] OPP: Add new configuration interface: dev_pm_opp_set_config()
    [PATCH V2 0/5] OPP: Replace custom set_opp() with config_regulators()

    - The existing APIs aren't removed anymore, but are made to use the new core API
    to set various configurations (Greg KH).

    - clk-names and regulator-names are NULL terminated arrays now (Greg KH).

    - New interface added: dev_pm_opp_set_config_regulators().

    V1->V2:
    - dev_pm_opp_set_config() doesn't return the OPP table anymore, but a token
    allocated with xa_alloc(). The same needs to be passed to clear-config API.
    - Updated all users according to that as well.
    - The clk_names interface is updated to allow multiple clocks.
    - Converted few // comments to /* */.
    - Added tags by few people.
    - Dropped the last patch to rearrange stuff, not required anymore.

    Thanks.

    --
    Viresh



    Viresh Kumar (20):
    OPP: Track if clock name is configured by platform
    OPP: Make dev_pm_opp_set_regulators() accept NULL terminated list
    OPP: Add dev_pm_opp_set_config() and friends
    cpufreq: qcom-nvmem: Migrate to dev_pm_opp_set_config()
    cpufreq: sti: Migrate to dev_pm_opp_set_config()
    cpufreq: ti: Migrate to dev_pm_opp_set_config()
    drm/lima: Migrate to dev_pm_opp_set_config()
    soc/tegra: Add comment over devm_pm_opp_set_clkname()
    soc/tegra: Migrate to dev_pm_opp_set_config()
    OPP: Migrate set-regulators API to use set-config helpers
    OPP: Migrate set-supported-hw API to use set-config helpers
    OPP: Migrate set-clk-name API to use set-config helpers
    OPP: Migrate set-opp-helper API to use set-config helpers
    OPP: Migrate attach-genpd API to use set-config helpers
    OPP: Migrate set-prop-name helper API to use set-config helpers
    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 dev_pm_opp_set_config_regulators()
    OPP: Remove custom OPP helper support

    drivers/cpufreq/cpufreq-dt.c | 19 +-
    drivers/cpufreq/imx-cpufreq-dt.c | 12 +-
    drivers/cpufreq/qcom-cpufreq-nvmem.c | 109 +--
    drivers/cpufreq/sti-cpufreq.c | 27 +-
    drivers/cpufreq/sun50i-cpufreq-nvmem.c | 31 +-
    drivers/cpufreq/tegra20-cpufreq.c | 12 +-
    drivers/cpufreq/ti-cpufreq.c | 42 +-
    drivers/devfreq/exynos-bus.c | 21 +-
    drivers/gpu/drm/lima/lima_devfreq.c | 12 +-
    drivers/gpu/drm/panfrost/panfrost_devfreq.c | 4 +-
    drivers/memory/tegra/tegra124-emc.c | 11 +-
    drivers/opp/core.c | 821 +++++++++-----------
    drivers/opp/opp.h | 32 +-
    drivers/opp/ti-opp-supply.c | 77 +-
    drivers/soc/tegra/common.c | 49 +-
    drivers/soc/tegra/pmc.c | 4 +-
    include/linux/pm_opp.h | 295 ++++---
    17 files changed, 750 insertions(+), 828 deletions(-)

    --
    2.31.1.272.g89b43f80a514

    \
     
     \ /
      Last update: 2022-07-04 14:09    [W:4.113 / U:0.108 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site