[PATCH v4 0/4] PM / devfreq: Various Fixes to cpufreq based passive governor

From: Christian 'Ansuel' Marangi
Date: Tue Jun 14 2022 - 20:04:01 EST


While developing a krait cache scaling devfreq driver I encounter tons
of panics and errors with using the new cpufreq passive governor
functions. While the krait cache scaling is still WIP and required some
testing I would like to push all the fixes to make the new
implementation wroking since currently with a the governor
PROBE_DEFERRing all sort of things happen from kernel panic from invalid
address access to freq_table getting corrupted.

With the following fixes my WIP driver works correctly without any
warning/problems.

v4:
- Fix error with dev_err_probe
- Move cpu_parent_data deletion to dedicated function
- Drop PM / devfreq: Fix kernel panic with cpu based scaling
to passive gov (merged)
v3:
- Fix compilation error for list_for_each_entry_safe (i'm stupid -.-''')
v2:
- Fix wrong list_for_each_entry reported by Dan Carpenter

Christian 'Ansuel' Marangi (4):
PM / devfreq: Fix cpufreq passive unregister erroring on PROBE_DEFER
PM / devfreq: Fix kernel warning with cpufreq passive register fail
PM / devfreq: Rework freq_table to be local to devfreq struct
PM / devfreq: Mute warning on governor PROBE_DEFER

drivers/devfreq/devfreq.c | 76 +++++++++++++++---------------
drivers/devfreq/governor_passive.c | 54 ++++++++++-----------
include/linux/devfreq.h | 4 ++
3 files changed, 65 insertions(+), 69 deletions(-)

--
2.36.1