diff options
Diffstat (limited to 'arch/arm/mach-s3c2410/mach-amlm5900.c')
-rw-r--r-- | arch/arm/mach-s3c2410/mach-amlm5900.c | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/arch/arm/mach-s3c2410/mach-amlm5900.c b/arch/arm/mach-s3c2410/mach-amlm5900.c index 0c9b7dafbe90..ba5109af40b4 100644 --- a/arch/arm/mach-s3c2410/mach-amlm5900.c +++ b/arch/arm/mach-s3c2410/mach-amlm5900.c | |||
@@ -225,13 +225,34 @@ static struct s3c2410fb_mach_info __initdata amlm5900_lcd_info = { | |||
225 | }; | 225 | }; |
226 | #endif | 226 | #endif |
227 | 227 | ||
228 | static void __init amlm5900_init(void) | 228 | static irqreturn_t |
229 | amlm5900_wake_interrupt(int irq, void *ignored, struct pt_regs *regs) | ||
229 | { | 230 | { |
231 | return IRQ_HANDLED; | ||
232 | } | ||
230 | 233 | ||
234 | static void amlm5900_init_pm(void) | ||
235 | { | ||
236 | int ret = 0; | ||
237 | |||
238 | ret = request_irq(IRQ_EINT9, &amlm5900_wake_interrupt, | ||
239 | IRQF_TRIGGER_RISING | IRQF_SHARED, | ||
240 | "amlm5900_wakeup", &amlm5900_wake_interrupt); | ||
241 | if (ret != 0) { | ||
242 | printk(KERN_ERR "AML-M5900: no wakeup irq, %d?\n", ret); | ||
243 | } else { | ||
244 | enable_irq_wake(IRQ_EINT9); | ||
245 | /* configure the suspend/resume status pin */ | ||
246 | s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP); | ||
247 | s3c2410_gpio_pullup(S3C2410_GPF2, 0); | ||
248 | } | ||
249 | } | ||
250 | static void __init amlm5900_init(void) | ||
251 | { | ||
252 | amlm5900_init_pm(); | ||
231 | #ifdef CONFIG_FB_S3C2410 | 253 | #ifdef CONFIG_FB_S3C2410 |
232 | s3c24xx_fb_set_platdata(&amlm5900_lcd_info); | 254 | s3c24xx_fb_set_platdata(&amlm5900_lcd_info); |
233 | #endif | 255 | #endif |
234 | |||
235 | } | 256 | } |
236 | 257 | ||
237 | MACHINE_START(AML_M5900, "AML_M5900") | 258 | MACHINE_START(AML_M5900, "AML_M5900") |