ARM: ux500: move PM-related PRCMU functions to machine
commit1e22a8c614a5d8c29d0882de21ce327673b71fca
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 19 Mar 2013 14:36:12 +0000 (19 15:36 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 8 Apr 2013 11:57:53 +0000 (8 13:57 +0200)
treedf7f070611f123bd6e1c0cf47f8888f8aeac3d67
parentb047d98127ccbf9fe83b6192a3562b3ead0b2415
ARM: ux500: move PM-related PRCMU functions to machine

We are trying to decompose and decentralize the code in
the DB8500 PRCMU out into subdrivers. The code moved in
this patch concerns a group of functions used for
decoupling and recoupling the IRQs from the GIC. During
sleep and idle the Ux500 system will transfer all IRQ
handling to the PRCMU using these functions.

Basically we are left with the two alternatives of code
placement as:

- arch/arm/mach-ux500/pm.c - this because the code is
  closely related to the GIC, and takes ownership of
  some of the registers from the PRCMU related to this
  PM functionality.

- drivers/mfd/db8500-prcmu-pm.c - because the code is
  affecting stuff in the PRCMU register range. But then
  this code needs to remap and handle GIC registers.

This patch implementation is taking the first approach.

Currently the cpuidle driver is the only piece of code
using this set of functions, but it will later also be
used by the suspend/resume code which is currently under
review.

The header file is moved to:
<linux/platform_data/arm-ux500-pm.h>
The function prototypes need to be placed in a globally
visible header since the CPUidle code is planned to move
out to drivers/cpuidle.

Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Acked-by: Rickard Andersson <rickard.andersson@stericsson.com>
Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
arch/arm/mach-ux500/Makefile
arch/arm/mach-ux500/cpu.c
arch/arm/mach-ux500/cpuidle.c
arch/arm/mach-ux500/pm.c [new file with mode: 0644]
drivers/mfd/db8500-prcmu.c
drivers/mfd/dbx500-prcmu-regs.h
include/linux/mfd/db8500-prcmu.h
include/linux/mfd/dbx500-prcmu.h
include/linux/platform_data/arm-ux500-pm.h [new file with mode: 0644]