From f05de1b1674f787e7074ec51239d2c90043c565e Mon Sep 17 00:00:00 2001 From: Koen Kooi Date: Sat, 31 May 2008 02:59:26 +0200 Subject: [PATCH] omap3beagle: add a platform device to hook up the GPIO leds to the leds-gpio driver omap3beagle: add a platform device to hook up the GPIO leds to the leds-gpio driver * on revision A5 and earlier board the two leds can't be controlled seperately, should be fixed in rev. B and C boards. Changes since v1: indented structs with tabs Signed-off-by: Koen Kooi Signed-off-by: Tony Lindgren --- arch/arm/mach-omap2/board-omap3beagle.c | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c index c992cc77255..fdce787e8ae 100644 --- a/arch/arm/mach-omap2/board-omap3beagle.c +++ b/arch/arm/mach-omap2/board-omap3beagle.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -72,6 +73,32 @@ static struct omap_lcd_config omap3_beagle_lcd_config __initdata = { .ctrl_name = "internal", }; +struct gpio_led gpio_leds[] = { + { + .name = "beagleboard::led0", + .default_trigger = "none", + .gpio = 149, + }, + { + .name = "beagleboard::led1", + .default_trigger = "none", + .gpio = 150, + }, +}; + +static struct gpio_led_platform_data gpio_led_info = { + .leds = gpio_leds, + .num_leds = ARRAY_SIZE(gpio_leds), +}; + +static struct platform_device leds_gpio = { + .name = "leds-gpio", + .id = -1, + .dev = { + .platform_data = &gpio_led_info, + }, +}; + static struct omap_board_config_kernel omap3_beagle_config[] __initdata = { { OMAP_TAG_UART, &omap3_beagle_uart_config }, { OMAP_TAG_MMC, &omap3beagle_mmc_config }, @@ -83,6 +110,7 @@ static struct platform_device *omap3_beagle_devices[] __initdata = { #ifdef CONFIG_RTC_DRV_TWL4030 &omap3_beagle_twl4030rtc_device, #endif + &leds_gpio, }; static void __init omap3_beagle_init(void) -- 2.41.3