diff options
Diffstat (limited to 'arch/arm/mach-omap1/leds-h2p2-debug.c')
| -rw-r--r-- | arch/arm/mach-omap1/leds-h2p2-debug.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/arch/arm/mach-omap1/leds-h2p2-debug.c b/arch/arm/mach-omap1/leds-h2p2-debug.c index f6b14a14a957..6f958aec9459 100644 --- a/arch/arm/mach-omap1/leds-h2p2-debug.c +++ b/arch/arm/mach-omap1/leds-h2p2-debug.c | |||
| @@ -14,6 +14,7 @@ | |||
| 14 | #include <linux/kernel_stat.h> | 14 | #include <linux/kernel_stat.h> |
| 15 | #include <linux/sched.h> | 15 | #include <linux/sched.h> |
| 16 | #include <linux/io.h> | 16 | #include <linux/io.h> |
| 17 | #include <linux/platform_data/gpio-omap.h> | ||
| 17 | 18 | ||
| 18 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
| 19 | #include <asm/leds.h> | 20 | #include <asm/leds.h> |
| @@ -68,11 +69,13 @@ void h2p2_dbg_leds_event(led_event_t evt) | |||
| 68 | gpio_set_value(GPIO_IDLE, 0); | 69 | gpio_set_value(GPIO_IDLE, 0); |
| 69 | } | 70 | } |
| 70 | 71 | ||
| 71 | __raw_writew(~0, &fpga->leds); | ||
| 72 | led_state &= ~LED_STATE_ENABLED; | 72 | led_state &= ~LED_STATE_ENABLED; |
| 73 | if (evt == led_halted) { | 73 | if (fpga) { |
| 74 | iounmap(fpga); | 74 | __raw_writew(~0, &fpga->leds); |
| 75 | fpga = NULL; | 75 | if (evt == led_halted) { |
| 76 | iounmap(fpga); | ||
| 77 | fpga = NULL; | ||
| 78 | } | ||
| 76 | } | 79 | } |
| 77 | 80 | ||
| 78 | goto done; | 81 | goto done; |
| @@ -158,7 +161,7 @@ void h2p2_dbg_leds_event(led_event_t evt) | |||
| 158 | /* | 161 | /* |
| 159 | * Actually burn the LEDs | 162 | * Actually burn the LEDs |
| 160 | */ | 163 | */ |
| 161 | if (led_state & LED_STATE_ENABLED) | 164 | if (led_state & LED_STATE_ENABLED && fpga) |
| 162 | __raw_writew(~hw_led_state, &fpga->leds); | 165 | __raw_writew(~hw_led_state, &fpga->leds); |
| 163 | 166 | ||
| 164 | done: | 167 | done: |
