Samsung PM consolidation part 2 (multiplatform)
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest posting 3/30 of 12 patches 0 repliesNew
- v2 posting 2/30 of 12 patches 0 repliesSuperseded
- v2 posting 1/30 of 12 patches 0 repliesSuperseded
Patches in v2 posting 3/3 No applies recorded yet
None of the 12 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.
Cover letter [PATCH v2 00/12] Samsung PM consolidation part 2 (multiplatform)
Quoted 88 lines · Tomasz Figa
Hi Kukjin,
Quoted 78 lines · Tomasz Figa
Current Samsung PM code is heavily unprepared for multiplatform systems. The design implies accessing functions and global variables defined in particular mach- subdirectory from common code in plat-, which is not allowed when building
ARCH_MULTIPLATFORM. In addition there is a lot of forced code unification, which makes common function handle any possible quirks of all supported SoCs. In the end this design turned out to not work too well, ending with a lot of empty functions exported from mach-, just because code in commonpm.ccalls them. Moreover, recent trend of moving lower level suspend/resume code to proper drivers, like pinctrl or clk, made a lot of code there redundant, especially on DT-only platforms
like Exynos.This patch series attempts to untie Exynos PM support from the legacy Samsung PM core and make it multiplatform-aware, by isolating truly generic parts of the latter, making them multiplatform-friendly and then reimplementing Exynos PM support in a multiplatform-capable way by using those generic parts. The result is that now PM initialization is started from mach-exynos*-dt, which calls Exynos-specific initialization code that
registersplatform_suspend_ops, so control flow is basically reversed ending with mach- code calling more generic plat- code if needed.This is limited to Exynos right now, but remaining SoCs could follow in further series.
Depends on Samsung PM consolidation part 1 (clocks) series:
- http://thread.gmane.org/gmane.linux.kernel.samsung-soc/26816On Exynos4210-based Trats, Exynos4412-based Trats2 and Exynos5250-based Arndale boards (except suspend/resume, which is broken because of unrelated reasons):
Tested-by Tomasz Figa <[email protected]>Changes since v1 (RFC):
- fixed l2x0 resume,
- fixed checkpatch complaints (about issues in existing code being
moved),
- rebased on top of current linux-next,
- slightly reordered patches to make the order more logical.Tomasz Figa (12):
ARM: EXYNOS: Do not resume l2x0 if not enabled before suspend
ARM: SAMSUNG: Addsoc_is_s3c2410()helper
ARM: SAMSUNG: pm: Save UART DIVSLOT register based on SoC type
ARM: SAMSUNG: pm: Usedebug_ll_addr()to get UART base address
ARM: SAMSUNG: pm: Consolidate PM debug functions
ARM: SAMSUNG: pm: Move Samsung PM debug code into separate file
ARM: SAMSUNG: Move common save/restore helpers to separate file
ARM: SAMSUNG: pm: Move s3c_pm_check_* prototypes toplat/pm-common.h
ARM: EXYNOS:Kconfig: Fix abuse ofCONFIG_PM
ARM: EXYNOS: Remove PM initcalls and useless indirection
ARM: EXYNOS: Stop using legacy Samsung PM code
ARM: exynos: Allow wake-up using GIC interruptsarch/arm/mach-exynos/Kconfig | 16 +-- arch/arm/mach-exynos/Makefile | 2 +- arch/arm/mach-exynos/common.c | 1 + arch/arm/mach-exynos/common.h | 14 ++ arch/arm/mach-exynos/include/mach/pm-core.h | 75 ----------- arch/arm/mach-exynos/pm.c | 172 +++++++++++++++++++------ arch/arm/mach-exynos/regs-pmu.h | 2 + arch/arm/mach-exynos/sleep.S | 85 ++++++++++++ arch/arm/mach-s3c64xx/pm.c | 1 - arch/arm/mach-s5p64x0/pm.c | 1 - arch/arm/plat-samsung/Makefile | 2 + arch/arm/plat-samsung/include/plat/cpu.h | 6 + arch/arm/plat-samsung/include/plat/pm-common.h | 110 ++++++++++++++++ arch/arm/plat-samsung/include/plat/pm.h | 80 +----------- arch/arm/plat-samsung/pm-check.c | 2 +- arch/arm/plat-samsung/pm-common.c | 75 +++++++++++ arch/arm/plat-samsung/pm-debug.c | 98 ++++++++++++++ arch/arm/plat-samsung/pm.c | 146 --------------------- arch/arm/plat-samsung/s5p-sleep.S | 43 ------- 19 files changed, 531 insertions(+), 400 deletions(-)Quoted 6 lines
delete mode 100644
arch/arm/mach-exynos/include/mach/pm-core.hcreate mode 100644arch/arm/mach-exynos/sleep.S
create mode 100644arch/arm/plat-samsung/include/plat/pm-common.hcreate mode 100644arch/arm/plat-samsung/pm-common.ccreate mode 100644arch/arm/plat-samsung/pm-debug.c
Quoted 1 line
What do you think about this series?
A subtle ping.
Best regards,
Tomasz