diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 13:58:20 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-13 13:58:20 -0500 |
commit | a11da7df6543b5f71a150b47c0d08ecf0799a0f3 (patch) | |
tree | 77eaac99426f64a0a8dc3b5d62c86138a8c72d43 /arch/arm/mach-omap2/pm.c | |
parent | b8edf848e9119bab9d999b9ca80d8520641810f2 (diff) | |
parent | 9c7466b217af784280d9fc841bbd559ef3bf33e9 (diff) |
Merge tag 'pm-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC power management and clock changes from Olof Johansson:
"This branch contains a largeish set of updates of power management and
clock setup. The bulk of it is for OMAP/AM33xx platforms, but also a
few around hotplug/suspend/resume on Exynos.
It includes a split-up of some of the OMAP clock data into separate
files which adds to the diffstat, but gross delta is fairly reasonable."
* tag 'pm-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (60 commits)
ARM: OMAP: Move plat-omap/dma-omap.h to include/linux/omap-dma.h
ASoC: OMAP: mcbsp fixes for enabling ARM multiplatform support
watchdog: OMAP: fixup for ARM multiplatform support
ARM: EXYNOS: Add flush_cache_all in suspend finisher
ARM: EXYNOS: Remove scu_enable from cpuidle
ARM: EXYNOS: Fix soft reboot hang after suspend/resume
ARM: EXYNOS: Add support for rtc wakeup
ARM: EXYNOS: fix the hotplug for Cortex-A15
ARM: OMAP2+: omap_device: Correct resource handling for DT boot
ARM: OMAP2+: hwmod: Add possibility to count hwmod resources based on type
ARM: OMAP2+: hwmod: Add support for per hwmod/module context lost count
ARM: OMAP2+: PRM: initialize some PRM functions early
ARM: OMAP2+: voltage: fixup oscillator handling when CONFIG_PM=n
ARM: OMAP4: USB: power down MUSB PHY during boot
ARM: OMAP2+: clock: Cleanup !CONFIG_COMMON_CLK parts
ARM: OMAP2xxx: clock: drop obsolete clock data
ARM: OMAP2: clock: Cleanup !CONFIG_COMMON_CLK parts
ARM: OMAP3+: DPLL: drop !CONFIG_COMMON_CLK sections
ARM: AM33xx: clock: drop obsolete clock data
ARM: OMAP3xxx: clk: drop obsolete clock data
...
Diffstat (limited to 'arch/arm/mach-omap2/pm.c')
-rw-r--r-- | arch/arm/mach-omap2/pm.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/pm.c b/arch/arm/mach-omap2/pm.c index 331478f9b864..f4b3143a8b1d 100644 --- a/arch/arm/mach-omap2/pm.c +++ b/arch/arm/mach-omap2/pm.c | |||
@@ -40,6 +40,38 @@ static struct omap_device_pm_latency *pm_lats; | |||
40 | */ | 40 | */ |
41 | int (*omap_pm_suspend)(void); | 41 | int (*omap_pm_suspend)(void); |
42 | 42 | ||
43 | #ifdef CONFIG_PM | ||
44 | /** | ||
45 | * struct omap2_oscillator - Describe the board main oscillator latencies | ||
46 | * @startup_time: oscillator startup latency | ||
47 | * @shutdown_time: oscillator shutdown latency | ||
48 | */ | ||
49 | struct omap2_oscillator { | ||
50 | u32 startup_time; | ||
51 | u32 shutdown_time; | ||
52 | }; | ||
53 | |||
54 | static struct omap2_oscillator oscillator = { | ||
55 | .startup_time = ULONG_MAX, | ||
56 | .shutdown_time = ULONG_MAX, | ||
57 | }; | ||
58 | |||
59 | void omap_pm_setup_oscillator(u32 tstart, u32 tshut) | ||
60 | { | ||
61 | oscillator.startup_time = tstart; | ||
62 | oscillator.shutdown_time = tshut; | ||
63 | } | ||
64 | |||
65 | void omap_pm_get_oscillator(u32 *tstart, u32 *tshut) | ||
66 | { | ||
67 | if (!tstart || !tshut) | ||
68 | return; | ||
69 | |||
70 | *tstart = oscillator.startup_time; | ||
71 | *tshut = oscillator.shutdown_time; | ||
72 | } | ||
73 | #endif | ||
74 | |||
43 | static int __init _init_omap_device(char *name) | 75 | static int __init _init_omap_device(char *name) |
44 | { | 76 | { |
45 | struct omap_hwmod *oh; | 77 | struct omap_hwmod *oh; |