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/prm_common.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/prm_common.c')
-rw-r--r-- | arch/arm/mach-omap2/prm_common.c | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c index f596e1e91ffd..228b850e632f 100644 --- a/arch/arm/mach-omap2/prm_common.c +++ b/arch/arm/mach-omap2/prm_common.c | |||
@@ -365,6 +365,51 @@ u32 prm_read_reset_sources(void) | |||
365 | } | 365 | } |
366 | 366 | ||
367 | /** | 367 | /** |
368 | * prm_was_any_context_lost_old - was device context lost? (old API) | ||
369 | * @part: PRM partition ID (e.g., OMAP4430_PRM_PARTITION) | ||
370 | * @inst: PRM instance offset (e.g., OMAP4430_PRM_MPU_INST) | ||
371 | * @idx: CONTEXT register offset | ||
372 | * | ||
373 | * Return 1 if any bits were set in the *_CONTEXT_* register | ||
374 | * identified by (@part, @inst, @idx), which means that some context | ||
375 | * was lost for that module; otherwise, return 0. XXX Deprecated; | ||
376 | * callers need to use a less-SoC-dependent way to identify hardware | ||
377 | * IP blocks. | ||
378 | */ | ||
379 | bool prm_was_any_context_lost_old(u8 part, s16 inst, u16 idx) | ||
380 | { | ||
381 | bool ret = true; | ||
382 | |||
383 | if (prm_ll_data->was_any_context_lost_old) | ||
384 | ret = prm_ll_data->was_any_context_lost_old(part, inst, idx); | ||
385 | else | ||
386 | WARN_ONCE(1, "prm: %s: no mapping function defined\n", | ||
387 | __func__); | ||
388 | |||
389 | return ret; | ||
390 | } | ||
391 | |||
392 | /** | ||
393 | * prm_clear_context_lost_flags_old - clear context loss flags (old API) | ||
394 | * @part: PRM partition ID (e.g., OMAP4430_PRM_PARTITION) | ||
395 | * @inst: PRM instance offset (e.g., OMAP4430_PRM_MPU_INST) | ||
396 | * @idx: CONTEXT register offset | ||
397 | * | ||
398 | * Clear hardware context loss bits for the module identified by | ||
399 | * (@part, @inst, @idx). No return value. XXX Deprecated; callers | ||
400 | * need to use a less-SoC-dependent way to identify hardware IP | ||
401 | * blocks. | ||
402 | */ | ||
403 | void prm_clear_context_loss_flags_old(u8 part, s16 inst, u16 idx) | ||
404 | { | ||
405 | if (prm_ll_data->clear_context_loss_flags_old) | ||
406 | prm_ll_data->clear_context_loss_flags_old(part, inst, idx); | ||
407 | else | ||
408 | WARN_ONCE(1, "prm: %s: no mapping function defined\n", | ||
409 | __func__); | ||
410 | } | ||
411 | |||
412 | /** | ||
368 | * prm_register - register per-SoC low-level data with the PRM | 413 | * prm_register - register per-SoC low-level data with the PRM |
369 | * @pld: low-level per-SoC OMAP PRM data & function pointers to register | 414 | * @pld: low-level per-SoC OMAP PRM data & function pointers to register |
370 | * | 415 | * |