This patch keeps the system active while UART inactivity timer is ON

Signed-off-by: Rajendra Nayak <[EMAIL PROTECTED]>
---
 arch/arm/mach-omap2/cpuidle34xx.c        |    3 ++-
 arch/arm/mach-omap2/pm34xx.c             |    2 --
 arch/arm/plat-omap/include/mach/serial.h |    1 +
 3 files changed, 3 insertions(+), 3 deletions(-)

Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c
===================================================================
--- linux-omap-2.6.orig/arch/arm/mach-omap2/cpuidle34xx.c       2008-09-01
18:11:55.000000000 +0530
+++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c    2008-09-01
18:11:56.000000000 +0530
@@ -29,6 +29,7 @@
 #include <mach/gpmc.h>
 #include <mach/control.h>
 #include <mach/irqs.h>
+#include <mach/serial.h>
 #include <linux/sched.h>

 #include "cpuidle34xx.h"
@@ -93,7 +94,7 @@ static int omap3_enter_idle(struct cpuid

        current_cx_state = *cx;

-       if (cx->type == OMAP3_STATE_C0) {
+       if (cx->type == OMAP3_STATE_C0 || !omap_serial_can_sleep()) {
                /* Do nothing for C0, not even a wfi */
                return 0;
        }
Index: linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c
===================================================================
--- linux-omap-2.6.orig/arch/arm/mach-omap2/pm34xx.c    2008-09-01
18:11:55.000000000 +0530
+++ linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c 2008-09-01 18:11:56.000000000
+0530
@@ -390,8 +390,6 @@ int omap3_can_sleep(void)
                return 0;
        if (atomic_read(&sleep_block) > 0)
                return 0;
-       if (!omap_serial_can_sleep())
-               return 0;
        return 1;
 }

Index: linux-omap-2.6/arch/arm/plat-omap/include/mach/serial.h
===================================================================
--- linux-omap-2.6.orig/arch/arm/plat-omap/include/mach/serial.h        
2008-09-01
18:11:50.000000000 +0530
+++ linux-omap-2.6/arch/arm/plat-omap/include/mach/serial.h     2008-09-01
18:11:56.000000000 +0530
@@ -50,5 +50,6 @@ struct omap3_uart_regs {
 };
 extern void omap3_save_uart_ctx(int unum);
 extern void omap3_restore_uart_ctx(int unum);
+extern int omap_serial_can_sleep(void);
 #endif /* __ASSEMBLY__ */
 #endif


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to