Skip to content

driver/core: cpu: initialize opp table

Viresh Kumar linux-pm lkml 5 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest8 patches 8 repliesIn review
  2. v38 patches 10 repliesSuperseded
  3. v27 patches 13 repliesSuperseded
Earlier versions · 2
VersionPostedPatchesRepliesStatus
v1 posting 2/21 patch10 repliesSuperseded
v1 posting 1/25 patches1 replySuperseded

Changes in v4 from the cover letter

- Remove of_init_cpu_opp_table() and use of_init_opp_table() instead after adding more print messages to it.
- Drop a rather unrelated patch which was getting rid of dependency on thermal for cpufreq-cpu0. Will be sent separately.

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/8opp: of_init_opp_table(): return -ENOSYS when feature isn't implementedinclude/linux/pm_opp.h+1 -11 reply
2/8opp: call of_node_{get|put}() from of_init_opp_table()drivers/base/power/opp.c+4 -04 replies
3/8opp: Enhance debug messages in of_init_opp_table()drivers/base/power/opp.c+6 -12 replies
4/8driver/core: cpu: initialize opp tabledrivers/base/cpu.c+7 -43 replies
5/8cpufreq: arm_big_little: don't initialize opp tabledrivers/cpufreq/arm_big_little.c drivers/cpufreq/arm_big_little_dt.c+7 -230 replies
6/8cpufreq: imx6q: don't initialize opp tablearch/arm/mach-imx/mach-imx6q.c drivers/cpufreq/imx6q-cpufreq.c+9 -470 replies
7/8cpufreq: cpufreq-cpu0: don't initialize opp tabledrivers/cpufreq/cpufreq-cpu0.c+0 -60 replies
8/8cpufreq: exynos5440: don't initialize opp tabledrivers/cpufreq/exynos5440-cpufreq.c+0 -60 replies

Reviews trailers per patch

5 of 8 patches have a Reviewed-by or Acked-by.

PatchShawn GuoSudeep HollaNishanth Menon
1/8Suggested-and-reviewed-by A-b
2/8A-b
3/8A-b
4/8
5/8
6/8A-b
7/8A-b
8/8

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v4 thread

Cover letter [PATCH V4 0/8] driver/core: cpu: initialize opp table

Drivers expecting CPU's OPPs from device tree initialize OPP table themselves by calling of_init_opp_table() and there is nothing driver specific in that. They all do it in the same redundant way.

It would be better if we can get rid of redundancy by initializing CPU OPPs from CPU core code for all CPUs (that have a "operating-points" property defined in their node).

This patchset callsl of_init_opp_table() directly from register_cpu() right after CPU device is registered. Later patches updates existing cpufreq drivers which were calling of_init_opp_table() directly.

V3->V4:
- Remove of_init_cpu_opp_table() and use of_init_opp_table() instead after adding more print messages to it.
- Drop a rather unrelated patch which was getting rid of dependency on thermal for cpufreq-cpu0. Will be sent separately.

Cc Greg Kroah-Hartman <[email protected]>
Cc Amit Daniel Kachhap <[email protected]>
Cc Kukjin Kim <[email protected]>
Cc Shawn Guo <[email protected]>
Cc Sudeep Holla <[email protected]>

Viresh Kumar (8):
opp: of_init_opp_table(): return -ENOSYS when feature isn't
implemented
opp: call of_node_{get|put}() from of_init_opp_table()
opp: Enhance debug messages in of_init_opp_table() driver/core: cpu: initialize opp table
cpufreq: arm_big_little: don't initialize opp table
cpufreq: imx6q: don't initialize opp table
cpufreq: cpufreq-cpu0: don't initialize opp table
cpufreq: exynos5440: don't initialize opp table

 arch/arm/mach-imx/mach-imx6q.c       | 36 ++++++++----------------------------
 drivers/base/cpu.c                   | 11 +++++++----
 drivers/base/power/opp.c             | 11 ++++++++++-
 drivers/cpufreq/arm_big_little.c     | 12 +++++++-----
 drivers/cpufreq/arm_big_little_dt.c  | 18 ------------------
 drivers/cpufreq/cpufreq-cpu0.c       |  6 ------
 drivers/cpufreq/exynos5440-cpufreq.c |  6 ------
 drivers/cpufreq/imx6q-cpufreq.c      | 20 +-------------------
 include/linux/pm_opp.h               |  2 +-
 9 files changed, 34 insertions(+), 88 deletions(-)
Signature · 1 line
2.0.0.rc2