]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
ARM: OMAP: OSK led fixes
authorDavid Brownell <david-b@pacbell.net>
Mon, 2 Apr 2007 19:48:10 +0000 (12:48 -0700)
committerTony Lindgren <tony@atomide.com>
Tue, 5 Jun 2007 07:57:06 +0000 (00:57 -0700)
Bugfixes for the OSK led support:

 - Fix Kconfig merge glitches:  Mistral handles idle and timer leds just fine
 - Fix pm_suspend() runtime botch:  can't sleep, so can't touch tps65010 leds

Improvements:
 - Switch sense of Mistral idle led, so idle == off

Probably the TPS65010 leds should be handled only by the "new led" API.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/Kconfig
arch/arm/mach-omap1/leds-osk.c
arch/arm/mach-omap1/pm.c

index 50d9f3e4e0f1ad315eb9a04e1e3e9aa5299d6fa5..af74719e9c3c21cf78e9b887386c4a23b8d06b86 100644 (file)
@@ -703,7 +703,8 @@ config LEDS
 
 config LEDS_TIMER
        bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
-                           MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
+                           OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
+                           || MACH_OMAP_PERSEUS2
        depends on LEDS
        depends on !GENERIC_CLOCKEVENTS
        default y if ARCH_EBSA110
@@ -720,7 +721,9 @@ config LEDS_TIMER
 
 config LEDS_CPU
        bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
-                       !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2
+                       !ARCH_OMAP) \
+                       || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
+                       || MACH_OMAP_PERSEUS2
        depends on LEDS
        help
          If you say Y here, the red LED will be used to give a good real
index 0cbf1b0071f8737057205590952a77be2296763c..86de303ecab209858eaa499de39e701158bc0f7b 100644 (file)
@@ -133,13 +133,13 @@ void osk_leds_event(led_event_t evt)
                mistral_setled();
                break;
 
-       case led_idle_start:
-               hw_led_state |= IDLE_LED;
+       case led_idle_start:    /* idle == off */
+               hw_led_state &= ~IDLE_LED;
                mistral_setled();
                break;
 
        case led_idle_end:
-               hw_led_state &= ~IDLE_LED;
+               hw_led_state |= IDLE_LED;
                mistral_setled();
                break;
 
index 5bb348e2e31530fdb32d3fe492ac057bc380a6a8..2e68be607295ef3cf7174bea05c03cb5f1e90466 100644 (file)
@@ -57,7 +57,6 @@
 #include <asm/arch/tc.h>
 #include <asm/arch/pm.h>
 #include <asm/arch/mux.h>
-#include <asm/arch/tps65010.h>
 #include <asm/arch/dma.h>
 #include <asm/arch/dsp_common.h>
 #include <asm/arch/dmtimer.h>
@@ -250,11 +249,6 @@ void omap_pm_suspend(void)
 
        omap_serial_wake_trigger(1);
 
-       if (machine_is_omap_osk()) {
-               /* Stop LED1 (D9) blink */
-               tps65010_set_led(LED1, OFF);
-       }
-
        if (!cpu_is_omap15xx())
                omap_writew(0xffff, ULPD_SOFT_DISABLE_REQ_REG);
 
@@ -447,11 +441,6 @@ void omap_pm_suspend(void)
        omap_serial_wake_trigger(0);
 
        printk("PM: OMAP%x is re-starting from deep sleep...\n", system_rev);
-
-       if (machine_is_omap_osk()) {
-               /* Let LED1 (D9) blink again */
-               tps65010_set_led(LED1, BLINK);
-       }
 }
 
 #if defined(DEBUG) && defined(CONFIG_PROC_FS)