aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorDavid Brownell <david-b@pacbell.net>2007-04-02 15:48:10 -0400
committerTony Lindgren <tony@atomide.com>2007-08-22 03:42:51 -0400
commiteebdf7d7c478682756fd29d376223f350311f105 (patch)
tree2781d1bf7db9a45c350dc43394f791153db3adff /arch
parent4e63915cbe4525beb9c0281f8e22945d88acc9bc (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>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig7
-rw-r--r--arch/arm/mach-omap1/leds-osk.c6
-rw-r--r--arch/arm/mach-omap1/pm.c11
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
721 721
722config LEDS_TIMER 722config LEDS_TIMER
723 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \ 723 bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
724 MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 724 OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
725 || MACH_OMAP_PERSEUS2
725 depends on LEDS 726 depends on LEDS
726 depends on !GENERIC_CLOCKEVENTS 727 depends on !GENERIC_CLOCKEVENTS
727 default y if ARCH_EBSA110 728 default y if ARCH_EBSA110
@@ -738,7 +739,9 @@ config LEDS_TIMER
738 739
739config LEDS_CPU 740config LEDS_CPU
740 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \ 741 bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
741 !ARCH_OMAP) || MACH_OMAP_H2 || MACH_OMAP_PERSEUS2 742 !ARCH_OMAP) \
743 || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
744 || MACH_OMAP_PERSEUS2
742 depends on LEDS 745 depends on LEDS
743 help 746 help
744 If you say Y here, the red LED will be used to give a good real 747 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)
133 mistral_setled(); 133 mistral_setled();
134 break; 134 break;
135 135
136 case led_idle_start: 136 case led_idle_start: /* idle == off */
137 hw_led_state |= IDLE_LED; 137 hw_led_state &= ~IDLE_LED;
138 mistral_setled(); 138 mistral_setled();
139 break; 139 break;
140 140
141 case led_idle_end: 141 case led_idle_end:
142 hw_led_state &= ~IDLE_LED; 142 hw_led_state |= IDLE_LED;
143 mistral_setled(); 143 mistral_setled();
144 break; 144 break;
145 145
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 @@
57#include <asm/arch/tc.h> 57#include <asm/arch/tc.h>
58#include <asm/arch/pm.h> 58#include <asm/arch/pm.h>
59#include <asm/arch/mux.h> 59#include <asm/arch/mux.h>
60#include <asm/arch/tps65010.h>
61#include <asm/arch/dma.h> 60#include <asm/arch/dma.h>
62#include <asm/arch/dsp_common.h> 61#include <asm/arch/dsp_common.h>
63#include <asm/arch/dmtimer.h> 62#include <asm/arch/dmtimer.h>
@@ -250,11 +249,6 @@ void omap_pm_suspend(void)
250 249
251 omap_serial_wake_trigger(1); 250 omap_serial_wake_trigger(1);
252 251
253 if (machine_is_omap_osk()) {
254 /* Stop LED1 (D9) blink */
255 tps65010_set_led(LED1, OFF);
256 }
257
258 if (!cpu_is_omap15xx()) 252 if (!cpu_is_omap15xx())
259 omap_writew(0xffff, ULPD_SOFT_DISABLE_REQ_REG); 253 omap_writew(0xffff, ULPD_SOFT_DISABLE_REQ_REG);
260 254
@@ -447,11 +441,6 @@ void omap_pm_suspend(void)
447 omap_serial_wake_trigger(0); 441 omap_serial_wake_trigger(0);
448 442
449 printk("PM: OMAP%x is re-starting from deep sleep...\n", system_rev); 443 printk("PM: OMAP%x is re-starting from deep sleep...\n", system_rev);
450
451 if (machine_is_omap_osk()) {
452 /* Let LED1 (D9) blink again */
453 tps65010_set_led(LED1, BLINK);
454 }
455} 444}
456 445
457#if defined(DEBUG) && defined(CONFIG_PROC_FS) 446#if defined(DEBUG) && defined(CONFIG_PROC_FS)