]> Pileus Git - ~andy/linux/blobdiff - arch/arm/mach-imx/eukrea_mbimxsd25-baseboard.c
Merge branch 'x86-olpc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[~andy/linux] / arch / arm / mach-imx / eukrea_mbimxsd25-baseboard.c
index 6269053505f7ffec90ca276b48c307623355c2a5..01ebcb31e4820fa976cd54e2263c597688c55c87 100644 (file)
@@ -22,7 +22,6 @@
 #include <linux/gpio.h>
 #include <linux/leds.h>
 #include <linux/platform_device.h>
-#include <linux/gpio_keys.h>
 #include <linux/input.h>
 #include <video/platform_lcd.h>
 
@@ -32,9 +31,7 @@
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
 #include <mach/mx25.h>
-#include <mach/imx-uart.h>
 #include <mach/audmux.h>
-#include <mach/esdhc.h>
 
 #include "devices-imx25.h"
 
@@ -176,7 +173,7 @@ static struct platform_device eukrea_mbimxsd_lcd_powerdev = {
        .dev.platform_data      = &eukrea_mbimxsd_lcd_power_data,
 };
 
-static struct gpio_led eukrea_mbimxsd_leds[] = {
+static const struct gpio_led eukrea_mbimxsd_leds[] __initconst = {
        {
                .name                   = "led1",
                .default_trigger        = "heartbeat",
@@ -185,19 +182,12 @@ static struct gpio_led eukrea_mbimxsd_leds[] = {
        },
 };
 
-static struct gpio_led_platform_data eukrea_mbimxsd_led_info = {
+static const struct gpio_led_platform_data
+               eukrea_mbimxsd_led_info __initconst = {
        .leds           = eukrea_mbimxsd_leds,
        .num_leds       = ARRAY_SIZE(eukrea_mbimxsd_leds),
 };
 
-static struct platform_device eukrea_mbimxsd_leds_gpio = {
-       .name   = "leds-gpio",
-       .id     = -1,
-       .dev    = {
-               .platform_data  = &eukrea_mbimxsd_led_info,
-       },
-};
-
 static struct gpio_keys_button eukrea_mbimxsd_gpio_buttons[] = {
        {
                .gpio           = GPIO_SWITCH1,
@@ -208,23 +198,13 @@ static struct gpio_keys_button eukrea_mbimxsd_gpio_buttons[] = {
        },
 };
 
-static struct gpio_keys_platform_data eukrea_mbimxsd_button_data = {
+static const struct gpio_keys_platform_data
+               eukrea_mbimxsd_button_data __initconst = {
        .buttons        = eukrea_mbimxsd_gpio_buttons,
        .nbuttons       = ARRAY_SIZE(eukrea_mbimxsd_gpio_buttons),
 };
 
-static struct platform_device eukrea_mbimxsd_button_device = {
-       .name           = "gpio-keys",
-       .id             = -1,
-       .num_resources  = 0,
-       .dev            = {
-               .platform_data  = &eukrea_mbimxsd_button_data,
-       }
-};
-
 static struct platform_device *platform_devices[] __initdata = {
-       &eukrea_mbimxsd_leds_gpio,
-       &eukrea_mbimxsd_button_device,
        &eukrea_mbimxsd_lcd_powerdev,
 };
 
@@ -299,4 +279,6 @@ void __init eukrea_mbimxsd25_baseboard_init(void)
                                ARRAY_SIZE(eukrea_mbimxsd_i2c_devices));
 
        platform_add_devices(platform_devices, ARRAY_SIZE(platform_devices));
+       gpio_led_register_device(-1, &eukrea_mbimxsd_led_info);
+       imx_add_gpio_keys(&eukrea_mbimxsd_button_data);
 }