]> 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>
Mon, 7 May 2007 23:24:19 +0000 (16:24 -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 d7c0984d4a8662a48fc47f2d922ab8cb7806b030..1d12f161905212ea144e8777f32c8aa37c71252f 100644 (file)
@@ -688,7 +688,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
@@ -705,7 +706,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 cb0517ae678fd06f427342e5e9f18b8e495532b3..cef5ff02a2fd02dfa39b7dd79f68ed5ea37363fa 100644 (file)
@@ -58,7 +58,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>
@@ -248,11 +247,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);
 
@@ -445,11 +439,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)