aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-igep0020.c
diff options
context:
space:
mode:
authorJonas Zetterberg <jozz@jozz.se>2010-02-14 14:33:26 -0500
committerTony Lindgren <tony@atomide.com>2010-02-19 18:22:17 -0500
commitb344d87a28d5684ad9b6c4f880e70c48e23215f1 (patch)
treef25329f1f01979f047fb582ba37f50f58424a1f4 /arch/arm/mach-omap2/board-igep0020.c
parentc67b0d987088ae0339edc66de63aea5ac3d76c0d (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.c30
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
359static struct gpio_led gpio_leds[] = {
360 {
361 .name = "GPIO_LED1_RED",
362 .default_trigger = "heartbeat",
363 .gpio = IGEP2_GPIO_LED1_RED,
364 },
365};
366
367static struct gpio_led_platform_data gpio_leds_info = {
368 .leds = gpio_leds,
369 .num_leds = ARRAY_SIZE(gpio_leds),
370};
371
372static 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
358static struct platform_device *igep2_devices[] __initdata = { 381static 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
362static void __init igep2_init_irq(void) 388static 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)) {