[GIT PULL] devfreq fixes for 5.19-rc5

From: Chanwoo Choi
Date: Wed Jun 29 2022 - 17:32:39 EST


Dear Rafael,

This is devfreq-fixes pull request for v5.19-rc5. I add detailed description of
this pull request on the following tag. Please pull devfreq with
following updates.

Best Regards,
Chanwoo Choi


The following changes since commit 03c765b0e3b4cb5063276b086c76f7a612856a9a:

Linux 5.19-rc4 (2022-06-26 14:22:10 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/linux.git tags/devfreq-fixes-for-5.19-rc5

for you to fetch changes up to f08fe6fcbe13f83558ecccc4acaf5af3dce71a1f:

PM / devfreq: passive: revert an editing accident in SPDX-License line (2022-06-30 05:11:17 +0900)

----------------------------------------------------------------

Update devfreq for 5.19-rc5

Detailed description for this pull request:
1. Fix devfreq passive governor issue when cpufreq policy are not ready
during kernel booting because some cpus turn on after kernel booting or others.

- Re-initialize the vairables of struct devfreq_passive_data when PROBE_DEFER
happen when cpufreq_get_returns NULL

- Use dev_err_probe to mute warning when PROBE_DEFER

- Fix cpufreq passive unregister erroring on PROBE_DEFER
by using the allocated parent_cpu_data list to free resouce
instead of for_each_possible_cpu.

- Remove duplicate cpufreq passive unregister and warning when PROBE_DEFER

- Use HZ_PER_KZH macro in units.h

- Fix wrong indentation in SPDX-License line

2. Fix reference count leak of exynos-ppmu.c by using of_node_put()

3. Rework freq_table to be local to devfreq struct
- struct devfreq_dev_profile includes freq_table array to store
the supported frequencies. If devfreq driver doesn't initialize
the freq_table, devfreq core allocate the memory and initialize
the freq_table.

On a devfreq PROBE_DEFER, the freq_table in the driver profile struct,
is never reset and may be leaved in an undefined state. To fix this
and correctly handle PROBE_DEFER, use a local freq_table and
max_state in the devfreq struct.

----------------------------------------------------------------
Christian Marangi (5):
PM / devfreq: Fix kernel panic with cpu based scaling to passive gov
PM / devfreq: Mute warning on governor PROBE_DEFER
PM / devfreq: Fix cpufreq passive unregister erroring on PROBE_DEFER
PM / devfreq: Rework freq_table to be local to devfreq struct
PM / devfreq: Fix kernel warning with cpufreq passive register fail

Lukas Bulwahn (1):
PM / devfreq: passive: revert an editing accident in SPDX-License line

Miaoqian Lin (1):
PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events

Yicong Yang (1):
PM / devfreq: passive: Use HZ_PER_KHZ macro in units.h

drivers/devfreq/devfreq.c | 76 ++++++++++++++++++-------------------
drivers/devfreq/event/exynos-ppmu.c | 8 +++-
drivers/devfreq/governor_passive.c | 62 +++++++++++++-----------------
include/linux/devfreq.h | 5 +++
4 files changed, 75 insertions(+), 76 deletions(-)