diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-12-11 19:24:32 -0500 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2009-05-07 06:04:56 -0400 |
commit | 966bcc14386000e8b4dc7bbb426910bcb55a8588 (patch) | |
tree | 5b9fe35c74496ace898b5de4d982b0d158c4018e /arch/arm/plat-s3c64xx/irq.c | |
parent | 1deb507dc7612e6c81b7953e827d1c859c1d8c0b (diff) |
[ARM] S3C64XX: Add IRQ PM code
Add support for saving the state of the IRQ registers over suspend.
This requires moving the S3C64XX UART registers into <plat/regs-serial.h>
and adding irq-pm.c which saves the state of all the IRQ registers.
The irq-pm.c saves all the IRQ registers, including the IRQ_EINT and
IRQ_EINT_GROUP registers as it was easier than adding three different
files. Also ensuring that all the registers are restored to the same
state as before suspend is considered to be the best thing to do.
Note, we do not suspend the VIC here, this is done by the VIC driver
itself.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'arch/arm/plat-s3c64xx/irq.c')
-rw-r--r-- | arch/arm/plat-s3c64xx/irq.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/arm/plat-s3c64xx/irq.c b/arch/arm/plat-s3c64xx/irq.c index f22edf7c2d2d..f4c4844f9fdb 100644 --- a/arch/arm/plat-s3c64xx/irq.c +++ b/arch/arm/plat-s3c64xx/irq.c | |||
@@ -14,12 +14,14 @@ | |||
14 | 14 | ||
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/interrupt.h> | 16 | #include <linux/interrupt.h> |
17 | #include <linux/serial_core.h> | ||
17 | #include <linux/irq.h> | 18 | #include <linux/irq.h> |
18 | #include <linux/io.h> | 19 | #include <linux/io.h> |
19 | 20 | ||
20 | #include <asm/hardware/vic.h> | 21 | #include <asm/hardware/vic.h> |
21 | 22 | ||
22 | #include <mach/map.h> | 23 | #include <mach/map.h> |
24 | #include <plat/regs-serial.h> | ||
23 | #include <plat/regs-timer.h> | 25 | #include <plat/regs-timer.h> |
24 | #include <plat/cpu.h> | 26 | #include <plat/cpu.h> |
25 | 27 | ||
@@ -135,9 +137,6 @@ static inline unsigned int s3c_irq_uart_bit(unsigned int irq) | |||
135 | } | 137 | } |
136 | 138 | ||
137 | /* UART interrupt registers, not worth adding to seperate include header */ | 139 | /* UART interrupt registers, not worth adding to seperate include header */ |
138 | #define S3C64XX_UINTP 0x30 | ||
139 | #define S3C64XX_UINTSP 0x34 | ||
140 | #define S3C64XX_UINTM 0x38 | ||
141 | 140 | ||
142 | static void s3c_irq_uart_mask(unsigned int irq) | 141 | static void s3c_irq_uart_mask(unsigned int irq) |
143 | { | 142 | { |