diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2013-03-19 10:36:12 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2013-04-08 07:57:53 -0400 |
commit | 1e22a8c614a5d8c29d0882de21ce327673b71fca (patch) | |
tree | df7f070611f123bd6e1c0cf47f8888f8aeac3d67 /include/linux/mfd/dbx500-prcmu.h | |
parent | b047d98127ccbf9fe83b6192a3562b3ead0b2415 (diff) |
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>
Diffstat (limited to 'include/linux/mfd/dbx500-prcmu.h')
-rw-r--r-- | include/linux/mfd/dbx500-prcmu.h | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/include/linux/mfd/dbx500-prcmu.h b/include/linux/mfd/dbx500-prcmu.h index 8c546cbcb9a6..fc43cecc9449 100644 --- a/include/linux/mfd/dbx500-prcmu.h +++ b/include/linux/mfd/dbx500-prcmu.h | |||
@@ -293,36 +293,6 @@ static inline u8 prcmu_get_power_state_result(void) | |||
293 | return db8500_prcmu_get_power_state_result(); | 293 | return db8500_prcmu_get_power_state_result(); |
294 | } | 294 | } |
295 | 295 | ||
296 | static inline int prcmu_gic_decouple(void) | ||
297 | { | ||
298 | return db8500_prcmu_gic_decouple(); | ||
299 | } | ||
300 | |||
301 | static inline int prcmu_gic_recouple(void) | ||
302 | { | ||
303 | return db8500_prcmu_gic_recouple(); | ||
304 | } | ||
305 | |||
306 | static inline bool prcmu_gic_pending_irq(void) | ||
307 | { | ||
308 | return db8500_prcmu_gic_pending_irq(); | ||
309 | } | ||
310 | |||
311 | static inline bool prcmu_is_cpu_in_wfi(int cpu) | ||
312 | { | ||
313 | return db8500_prcmu_is_cpu_in_wfi(cpu); | ||
314 | } | ||
315 | |||
316 | static inline int prcmu_copy_gic_settings(void) | ||
317 | { | ||
318 | return db8500_prcmu_copy_gic_settings(); | ||
319 | } | ||
320 | |||
321 | static inline bool prcmu_pending_irq(void) | ||
322 | { | ||
323 | return db8500_prcmu_pending_irq(); | ||
324 | } | ||
325 | |||
326 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) | 296 | static inline int prcmu_set_epod(u16 epod_id, u8 epod_state) |
327 | { | 297 | { |
328 | return db8500_prcmu_set_epod(epod_id, epod_state); | 298 | return db8500_prcmu_set_epod(epod_id, epod_state); |