diff options
author | Jonas Zetterberg <jozz@jozz.se> | 2010-02-14 14:33:26 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-02-19 18:22:17 -0500 |
commit | b344d87a28d5684ad9b6c4f880e70c48e23215f1 (patch) | |
tree | f25329f1f01979f047fb582ba37f50f58424a1f4 /arch/arm/mach-omap2/board-igep0020.c | |
parent | c67b0d987088ae0339edc66de63aea5ac3d76c0d (diff) |
IGEPv2: Use Red Led1 as Heartbeat if configured
If not configured it will be exported as normal GPIO led.
Signed-off-by: Jonas Zetterberg <jozz@jozz.se>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-igep0020.c')
-rw-r--r-- | arch/arm/mach-omap2/board-igep0020.c | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/board-igep0020.c b/arch/arm/mach-omap2/board-igep0020.c index 4a5d663e2869..748f418ba442 100644 --- a/arch/arm/mach-omap2/board-igep0020.c +++ b/arch/arm/mach-omap2/board-igep0020.c | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/clk.h> | 16 | #include <linux/clk.h> |
17 | #include <linux/io.h> | 17 | #include <linux/io.h> |
18 | #include <linux/gpio.h> | 18 | #include <linux/gpio.h> |
19 | #include <linux/leds.h> | ||
19 | #include <linux/interrupt.h> | 20 | #include <linux/interrupt.h> |
20 | 21 | ||
21 | #include <linux/regulator/machine.h> | 22 | #include <linux/regulator/machine.h> |
@@ -354,9 +355,34 @@ static void __init igep2_display_init(void) | |||
354 | gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1)) | 355 | gpio_direction_output(IGEP2_GPIO_DVI_PUP, 1)) |
355 | pr_err("IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n"); | 356 | pr_err("IGEP v2: Could not obtain gpio GPIO_DVI_PUP\n"); |
356 | } | 357 | } |
358 | #ifdef CONFIG_LEDS_TRIGGERS | ||
359 | static struct gpio_led gpio_leds[] = { | ||
360 | { | ||
361 | .name = "GPIO_LED1_RED", | ||
362 | .default_trigger = "heartbeat", | ||
363 | .gpio = IGEP2_GPIO_LED1_RED, | ||
364 | }, | ||
365 | }; | ||
366 | |||
367 | static struct gpio_led_platform_data gpio_leds_info = { | ||
368 | .leds = gpio_leds, | ||
369 | .num_leds = ARRAY_SIZE(gpio_leds), | ||
370 | }; | ||
371 | |||
372 | static struct platform_device leds_gpio = { | ||
373 | .name = "leds-gpio", | ||
374 | .id = -1, | ||
375 | .dev = { | ||
376 | .platform_data = &gpio_leds_info, | ||
377 | }, | ||
378 | }; | ||
379 | #endif | ||
357 | 380 | ||
358 | static struct platform_device *igep2_devices[] __initdata = { | 381 | static struct platform_device *igep2_devices[] __initdata = { |
359 | &igep2_dss_device, | 382 | &igep2_dss_device, |
383 | #ifdef CONFIG_LEDS_TRIGGERS | ||
384 | &leds_gpio, | ||
385 | #endif | ||
360 | }; | 386 | }; |
361 | 387 | ||
362 | static void __init igep2_init_irq(void) | 388 | static void __init igep2_init_irq(void) |
@@ -456,14 +482,14 @@ static void __init igep2_init(void) | |||
456 | gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0); | 482 | gpio_set_value(IGEP2_GPIO_LED0_GREEN, 0); |
457 | } else | 483 | } else |
458 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n"); | 484 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED0_GREEN\n"); |
459 | 485 | #ifndef CONFIG_LEDS_TRIGGERS | |
460 | if ((gpio_request(IGEP2_GPIO_LED1_RED, "GPIO_LED1_RED") == 0) && | 486 | if ((gpio_request(IGEP2_GPIO_LED1_RED, "GPIO_LED1_RED") == 0) && |
461 | (gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) { | 487 | (gpio_direction_output(IGEP2_GPIO_LED1_RED, 1) == 0)) { |
462 | gpio_export(IGEP2_GPIO_LED1_RED, 0); | 488 | gpio_export(IGEP2_GPIO_LED1_RED, 0); |
463 | gpio_set_value(IGEP2_GPIO_LED1_RED, 0); | 489 | gpio_set_value(IGEP2_GPIO_LED1_RED, 0); |
464 | } else | 490 | } else |
465 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n"); | 491 | pr_warning("IGEP v2: Could not obtain gpio GPIO_LED1_RED\n"); |
466 | 492 | #endif | |
467 | /* GPIO W-LAN + Bluetooth combo module */ | 493 | /* GPIO W-LAN + Bluetooth combo module */ |
468 | if ((gpio_request(IGEP2_GPIO_WIFI_NPD, "GPIO_WIFI_NPD") == 0) && | 494 | if ((gpio_request(IGEP2_GPIO_WIFI_NPD, "GPIO_WIFI_NPD") == 0) && |
469 | (gpio_direction_output(IGEP2_GPIO_WIFI_NPD, 1) == 0)) { | 495 | (gpio_direction_output(IGEP2_GPIO_WIFI_NPD, 1) == 0)) { |