All pastes #179863 Raw Edit

Something

public text v1 · immutable
#179863 ·published 2006-09-22 16:36 UTC
rendered paste body
diff -urN linux-2.6.18/arch/arm/mach-s3c2410/Kconfig linux-2.6.18-m5900/arch/arm/mach-s3c2410/Kconfig
--- linux-2.6.18/arch/arm/mach-s3c2410/Kconfig  2006-09-22 12:08:30.000000000 -0400
+++ linux-2.6.18-m5900/arch/arm/mach-s3c2410/Kconfig    2006-09-22 09:54:20.000000000 -0400
@@ -263,7 +263,7 @@
  
 config PM_SIMTEC
        bool
-       depends on PM && (ARCH_BAST || MACH_VR1000)
+       depends on PM && (ARCH_BAST || MACH_VR1000 || MACH_AML_M5900)
        default y
  
 config S3C2410_LOWLEVEL_UART_PORT
diff -urN linux-2.6.18/arch/arm/mach-s3c2410/mach-amlm5900.c linux-2.6.18-m5900/arch/arm/mach-s3c2410/mach-amlm5900.c
--- linux-2.6.18/arch/arm/mach-s3c2410/mach-amlm5900.c  2006-09-22 12:08:30.000000000 -0400
+++ linux-2.6.18-m5900/arch/arm/mach-s3c2410/mach-amlm5900.c    2006-09-22 12:02:11.000000000 -0400
@@ -225,6 +225,35 @@
 };
 #endif
  
+#ifdef CONFIG_PM
+static irqreturn_t
+amlm5900_wake_interrupt(int irq, void *ignored, struct pt_regs *regs)
+{
+       return IRQ_HANDLED;
+}
+#endif
+
+void __init amlm5900_init_irq(void)
+{
+#ifdef CONFIG_PM
+       int ret = 0;
+
+               /* share the IRQ in case someone wants to use the
+                * button for more than wakeup from system sleep.
+                */
+       ret = request_irq(IRQ_EINT9, &amlm5900_wake_interrupt,
+                           IRQF_TRIGGER_HIGH, "amlm5900_wakeup",
+                           &amlm5900_wake_interrupt);
+       if (ret != 0) {
+           printk(KERN_ERR "AML-M5900: no wakeup irq, %d?\n", ret);
+       } else
+           enable_irq_wake(IRQ_EINT9);
+#endif
+
+       s3c24xx_init_irq();
+
+}
+
 static void __init amlm5900_init(void)
 {
  
@@ -239,7 +268,7 @@
        .io_pg_offst    = (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,
        .boot_params    = S3C2410_SDRAM_PA + 0x100,
        .map_io         = amlm5900_map_io,
-       .init_irq       = s3c24xx_init_irq,
+       .init_irq       = amlm5900_init_irq,
        .init_machine   = amlm5900_init,
        .timer          = &s3c24xx_timer,
 MACHINE_END
diff -urN linux-2.6.18/arch/arm/mach-s3c2410/pm-simtec.c linux-2.6.18-m5900/arch/arm/mach-s3c2410/pm-simtec.c
--- linux-2.6.18/arch/arm/mach-s3c2410/pm-simtec.c      2006-09-19 23:42:06.000000000 -0400
+++ linux-2.6.18-m5900/arch/arm/mach-s3c2410/pm-simtec.c        2006-09-22 10:02:08.000000000 -0400
@@ -49,7 +49,8 @@
        /* check which machine we are running on */
  
        if (!machine_is_bast() && !machine_is_vr1000() &&
-           !machine_is_anubis() && !machine_is_osiris())
+           !machine_is_anubis() && !machine_is_osiris() &&
+           !machine_is_aml_m5900())
                return 0;
  
        printk(KERN_INFO "Simtec Board Power Manangement" COPYRIGHT "\n");