[PATCH 00/31] Introduce devm_pm_opp_* API

Dmitry Osipenko digetx at gmail.com
Sun Jan 3 14:54:41 UTC 2021


03.01.2021 17:30, Frank Lee пишет:
> HI,
> 
> On Sun, Jan 3, 2021 at 8:52 PM Dmitry Osipenko <digetx at gmail.com> wrote:
>>
>> 01.01.2021 19:54, Yangtao Li пишет:
>>> Hi,
>>>
>>> This patchset add devm_pm_opp_set_clkname, devm_pm_opp_put_clkname,
>>> devm_pm_opp_set_regulators, devm_pm_opp_put_regulators,
>>> devm_pm_opp_set_supported_hw, devm_pm_opp_of_add_table and
>>> devm_pm_opp_register_notifier.
>>>
>>> Yangtao Li (31):
>>>   opp: Add devres wrapper for dev_pm_opp_set_clkname and
>>>     dev_pm_opp_put_clkname
>>>   opp: Add devres wrapper for dev_pm_opp_set_regulators and
>>>     dev_pm_opp_put_regulators
>>>   opp: Add devres wrapper for dev_pm_opp_set_supported_hw
>>>   opp: Add devres wrapper for dev_pm_opp_of_add_table
>>>   opp: Add devres wrapper for dev_pm_opp_register_notifier
>>>   serial: qcom_geni_serial: fix potential mem leak in
>>>     qcom_geni_serial_probe()
>>>   serial: qcom_geni_serial: convert to use devm_pm_opp_* API
>>>   spi: spi-qcom-qspi: fix potential mem leak in spi_geni_probe()
>>>   spi: spi-qcom-qspi: fix potential mem leak in spi_geni_probe()
>>>   qcom-geni-se: remove opp_table
>>>   mmc: sdhci-msm: fix potential mem leak in sdhci_msm_probe()
>>>   mmc: sdhci-msm: convert to use devm_pm_opp_* API
>>>   spi: spi-qcom-qspi: fix potential mem leak in qcom_qspi_probe()
>>>   spi: spi-qcom-qspi: convert to use devm_pm_opp_* API
>>>   drm/msm: fix potential mem leak
>>>   drm/msm: convert to use devm_pm_opp_* API and remove dp_ctrl_put
>>>   drm/lima: convert to use devm_pm_opp_* API
>>>   drm/lima: remove unneeded devm_devfreq_remove_device()
>>>   drm/panfrost: convert to use devm_pm_opp_* API
>>>   media: venus: fix error check in core_get_v4()
>>>   media: venus: convert to use devm_pm_opp_* API
>>>   memory: samsung: exynos5422-dmc: fix return error in
>>>     exynos5_init_freq_table
>>>   memory: samsung: exynos5422-dmc: convert to use devm_pm_opp_* API
>>>   memory: tegra20: convert to use devm_pm_opp_* API
>>>   memory: tegra30: convert to use devm_pm_opp_* API
>>>   PM / devfreq: tegra30: convert to use devm_pm_opp_* API
>>>   PM / devfreq: rk3399_dmc: convert to use devm_pm_opp_* API
>>>   PM / devfreq: imx8m-ddrc: convert to use devm_pm_opp_* API
>>>   PM / devfreq: imx-bus: convert to use devm_pm_opp_* API
>>>   PM / devfreq: exynos: convert to use devm_pm_opp_* API
>>>   PM / devfreq: convert to devm_pm_opp_register_notifier and remove
>>>     unused API
>>>
>>>  drivers/devfreq/devfreq.c                     |  66 +------
>>>  drivers/devfreq/exynos-bus.c                  |  42 +----
>>>  drivers/devfreq/imx-bus.c                     |  14 +-
>>>  drivers/devfreq/imx8m-ddrc.c                  |  15 +-
>>>  drivers/devfreq/rk3399_dmc.c                  |  22 +--
>>>  drivers/devfreq/tegra30-devfreq.c             |  21 +--
>>>  drivers/gpu/drm/lima/lima_devfreq.c           |  45 +----
>>>  drivers/gpu/drm/lima/lima_devfreq.h           |   2 -
>>>  drivers/gpu/drm/msm/adreno/a5xx_gpu.c         |   2 +-
>>>  drivers/gpu/drm/msm/adreno/a6xx_gmu.c         |   2 +-
>>>  drivers/gpu/drm/msm/adreno/adreno_gpu.c       |   2 +-
>>>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c       |  31 ++--
>>>  drivers/gpu/drm/msm/disp/dpu1/dpu_kms.h       |   2 -
>>>  drivers/gpu/drm/msm/dp/dp_ctrl.c              |  29 +--
>>>  drivers/gpu/drm/msm/dp/dp_ctrl.h              |   1 -
>>>  drivers/gpu/drm/msm/dp/dp_display.c           |   5 +-
>>>  drivers/gpu/drm/msm/dsi/dsi_host.c            |  23 ++-
>>>  drivers/gpu/drm/panfrost/panfrost_devfreq.c   |  34 +---
>>>  drivers/gpu/drm/panfrost/panfrost_devfreq.h   |   1 -
>>>  .../media/platform/qcom/venus/pm_helpers.c    |  22 +--
>>>  drivers/memory/samsung/exynos5422-dmc.c       |  13 +-
>>>  drivers/memory/tegra/tegra20-emc.c            |  29 +--
>>>  drivers/memory/tegra/tegra30-emc.c            |  29 +--
>>>  drivers/mmc/host/sdhci-msm.c                  |  27 ++-
>>>  drivers/opp/core.c                            | 173 ++++++++++++++++++
>>>  drivers/opp/of.c                              |  36 ++++
>>>  drivers/spi/spi-geni-qcom.c                   |  23 ++-
>>>  drivers/spi/spi-qcom-qspi.c                   |  25 ++-
>>>  drivers/tty/serial/qcom_geni_serial.c         |  31 ++--
>>>  include/linux/devfreq.h                       |  23 ---
>>>  include/linux/pm_opp.h                        |  38 ++++
>>>  include/linux/qcom-geni-se.h                  |   2 -
>>>  32 files changed, 402 insertions(+), 428 deletions(-)
>>>
>>
>> Hello,
>>
>> Could you please add helper for dev_pm_opp_attach_genpd() and make
>> cpufreq drivers to use the helpers?
> 
> Thank you for reminding me. But we shouldn't use this for CPU devices
> as the CPU device doesn't get bound to a driver, it is rather a fake platform
> device which gets the cpufreq drivers probed.

Indeed, the CPU device exists seprately from cpufreq driver.

>> I'd also like to see a devm helper for
>> dev_pm_opp_register_set_opp_helper(), which should become useful for
>> Tegra drivers sometime soon.
> 
> For non-cpu devices?

For DRM driver I'd want to use devm for both set_opp_helper() and
opp_attach_genpd().

https://patchwork.ozlabs.org/project/linux-tegra/patch/20201217180638.22748-39-digetx@gmail.com/


More information about the dri-devel mailing list