mbox series

[00/31] Introduce devm_pm_opp_* API

Message ID 20210101165507.19486-1-tiny.windzz@gmail.com
Headers show
Series Introduce devm_pm_opp_* API | expand

Message

Yangtao Li Jan. 1, 2021, 4:54 p.m. UTC
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(-)

Comments

Yangtao Li Jan. 3, 2021, 2:30 p.m. UTC | #1
HI,

On Sun, Jan 3, 2021 at 8:52 PM Dmitry Osipenko <digetx@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.

>
> 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?

BR / Yangtao
Dmitry Osipenko Jan. 3, 2021, 2:54 p.m. UTC | #2
03.01.2021 17:30, Frank Lee пишет:
> HI,
> 
> On Sun, Jan 3, 2021 at 8:52 PM Dmitry Osipenko <digetx@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/
Viresh Kumar Jan. 4, 2021, 7:29 a.m. UTC | #3
On 01-01-21, 16:54, Yangtao Li wrote:
> 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.

You can't put so many names in the cclist, we are getting failure
messages while replying to your patches now.

Put all people you want to inform in the bcc section and only the
important ones in to/cc list.
Viresh Kumar Jan. 4, 2021, 7:33 a.m. UTC | #4
On 01-01-21, 16:54, Yangtao Li wrote:
> 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.

Please also mention next time to all the maintainers that you need
their Acks for their patches and that all these patches should get
merged via the OPP tree.
Dmitry Osipenko Jan. 20, 2021, 4:01 p.m. UTC | #5
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.

Hello Yangtao,

Thank you for your effort, looking forward to v2!
Dmitry Osipenko March 2, 2021, 1:40 p.m. UTC | #6
20.01.2021 19:01, Dmitry Osipenko пишет:
> 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.
> 
> Hello Yangtao,
> 
> Thank you for your effort, looking forward to v2!

Yangtao, could you please let me know what is the status of this series?
Will you be able to make a v2 anytime soon?
Viresh Kumar March 3, 2021, 4:01 a.m. UTC | #7
On 02-03-21, 16:40, Dmitry Osipenko wrote:
> 20.01.2021 19:01, Dmitry Osipenko пишет:
> > 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.
> > 
> > Hello Yangtao,
> > 
> > Thank you for your effort, looking forward to v2!
> 
> Yangtao, could you please let me know what is the status of this series?
> Will you be able to make a v2 anytime soon?

Dmitry, if Yangtao doesn't reply back this week with a proposal, please go ahead
and respin the patches yourself. Thanks.
Dmitry Osipenko March 3, 2021, 8:31 a.m. UTC | #8
03.03.2021 07:01, Viresh Kumar пишет:
> On 02-03-21, 16:40, Dmitry Osipenko wrote:
>> 20.01.2021 19:01, Dmitry Osipenko пишет:
>>> 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.
>>>
>>> Hello Yangtao,
>>>
>>> Thank you for your effort, looking forward to v2!
>>
>> Yangtao, could you please let me know what is the status of this series?
>> Will you be able to make a v2 anytime soon?
> 
> Dmitry, if Yangtao doesn't reply back this week with a proposal, please go ahead
> and respin the patches yourself. Thanks.
> 

Alright!