OSDN Git Service

ARM: pxa: Add gpio-leds and vibrator support to PalmTC
authorMarek Vasut <marek.vasut@gmail.com>
Mon, 9 Aug 2010 04:13:06 +0000 (06:13 +0200)
committerEric Miao <eric.y.miao@gmail.com>
Mon, 20 Dec 2010 15:07:46 +0000 (23:07 +0800)
Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Eric Miao <eric.y.miao@gmail.com>
arch/arm/mach-pxa/palmtc.c

index 73de8c5..a09a237 100644 (file)
@@ -382,6 +382,46 @@ static inline void palmtc_ts_init(void) {}
 #endif
 
 /******************************************************************************
+ * LEDs
+ ******************************************************************************/
+#if defined(CONFIG_LEDS_GPIO) || defined(CONFIG_LEDS_GPIO_MODULE)
+struct gpio_led palmtc_gpio_leds[] = {
+{
+       .name                   = "palmtc:green:user",
+       .default_trigger        = "none",
+       .gpio                   = GPIO_NR_PALMTC_LED_POWER,
+       .active_low             = 1,
+}, {
+       .name                   = "palmtc:vibra:vibra",
+       .default_trigger        = "none",
+       .gpio                   = GPIO_NR_PALMTC_VIBRA_POWER,
+       .active_low             = 1,
+}
+
+};
+
+static struct gpio_led_platform_data palmtc_gpio_led_info = {
+       .leds           = palmtc_gpio_leds,
+       .num_leds       = ARRAY_SIZE(palmtc_gpio_leds),
+};
+
+static struct platform_device palmtc_leds = {
+       .name   = "leds-gpio",
+       .id     = -1,
+       .dev    = {
+               .platform_data  = &palmtc_gpio_led_info,
+       }
+};
+
+static void __init palmtc_leds_init(void)
+{
+       platform_device_register(&palmtc_leds);
+}
+#else
+static inline void palmtc_leds_init(void) {}
+#endif
+
+/******************************************************************************
  * NOR Flash
  ******************************************************************************/
 #if defined(CONFIG_MTD_PHYSMAP) || defined(CONFIG_MTD_PHYSMAP_MODULE)
@@ -494,6 +534,7 @@ static void __init palmtc_init(void)
        palmtc_ts_init();
        palmtc_nor_init();
        palmtc_lcd_init();
+       palmtc_leds_init();
 };
 
 MACHINE_START(PALMTC, "Palm Tungsten|C")