diff options
author | David Brownell <david-b@pacbell.net> | 2007-04-02 12:48:10 -0700 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2007-08-22 00:42:51 -0700 |
commit | eebdf7d7c478682756fd29d376223f350311f105 (patch) | |
tree | 2781d1bf7db9a45c350dc43394f791153db3adff | |
parent | 4e63915cbe4525beb9c0281f8e22945d88acc9bc (diff) |
ARM: OMAP: OSK led fixes
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>
-rw-r--r-- | arch/arm/Kconfig | 7 | ||||
-rw-r--r-- | arch/arm/mach-omap1/leds-osk.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-omap1/pm.c | 11 |
3 files changed, 8 insertions, 16 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index d6145298a325..691aae309c8a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -721,7 +721,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 @@ -738,7 +739,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 diff --git a/arch/arm/mach-omap1/leds-osk.c b/arch/arm/mach-omap1/leds-osk.c index 0cbf1b0071f8..86de303ecab2 100644 --- a/arch/arm/mach-omap1/leds-osk.c +++ b/arch/arm/mach-omap1/leds-osk.c @@ -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; diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c index 5bb348e2e315..2e68be607295 100644 --- a/arch/arm/mach-omap1/pm.c +++ b/arch/arm/mach-omap1/pm.c @@ -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) |