aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx5/board-mx51_efikamx.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-mx5/board-mx51_efikamx.c')
-rw-r--r--arch/arm/mach-mx5/board-mx51_efikamx.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/arch/arm/mach-mx5/board-mx51_efikamx.c b/arch/arm/mach-mx5/board-mx51_efikamx.c
index 6e362315291..43ac100cfba 100644
--- a/arch/arm/mach-mx5/board-mx51_efikamx.c
+++ b/arch/arm/mach-mx5/board-mx51_efikamx.c
@@ -39,7 +39,6 @@
39#include <asm/mach/time.h> 39#include <asm/mach/time.h>
40 40
41#include "devices-imx51.h" 41#include "devices-imx51.h"
42#include "devices.h"
43#include "efika.h" 42#include "efika.h"
44 43
45#define EFIKAMX_PCBID0 IMX_GPIO_NR(3, 16) 44#define EFIKAMX_PCBID0 IMX_GPIO_NR(3, 16)
@@ -139,7 +138,7 @@ static void __init mx51_efikamx_board_id(void)
139 } 138 }
140} 139}
141 140
142static struct gpio_led mx51_efikamx_leds[] = { 141static struct gpio_led mx51_efikamx_leds[] __initdata = {
143 { 142 {
144 .name = "efikamx:green", 143 .name = "efikamx:green",
145 .default_trigger = "default-on", 144 .default_trigger = "default-on",
@@ -157,19 +156,12 @@ static struct gpio_led mx51_efikamx_leds[] = {
157 }, 156 },
158}; 157};
159 158
160static struct gpio_led_platform_data mx51_efikamx_leds_data = { 159static const struct gpio_led_platform_data
160 mx51_efikamx_leds_data __initconst = {
161 .leds = mx51_efikamx_leds, 161 .leds = mx51_efikamx_leds,
162 .num_leds = ARRAY_SIZE(mx51_efikamx_leds), 162 .num_leds = ARRAY_SIZE(mx51_efikamx_leds),
163}; 163};
164 164
165static struct platform_device mx51_efikamx_leds_device = {
166 .name = "leds-gpio",
167 .id = -1,
168 .dev = {
169 .platform_data = &mx51_efikamx_leds_data,
170 },
171};
172
173static struct gpio_keys_button mx51_efikamx_powerkey[] = { 165static struct gpio_keys_button mx51_efikamx_powerkey[] = {
174 { 166 {
175 .code = KEY_POWER, 167 .code = KEY_POWER,
@@ -236,6 +228,8 @@ late_initcall(mx51_efikamx_power_init);
236 228
237static void __init mx51_efikamx_init(void) 229static void __init mx51_efikamx_init(void)
238{ 230{
231 imx51_soc_init();
232
239 mxc_iomux_v3_setup_multiple_pads(mx51efikamx_pads, 233 mxc_iomux_v3_setup_multiple_pads(mx51efikamx_pads,
240 ARRAY_SIZE(mx51efikamx_pads)); 234 ARRAY_SIZE(mx51efikamx_pads));
241 efika_board_common_init(); 235 efika_board_common_init();
@@ -248,7 +242,7 @@ static void __init mx51_efikamx_init(void)
248 mx51_efikamx_leds[2].default_trigger = "mmc1"; 242 mx51_efikamx_leds[2].default_trigger = "mmc1";
249 } 243 }
250 244
251 platform_device_register(&mx51_efikamx_leds_device); 245 gpio_led_register_device(-1, &mx51_efikamx_leds_data);
252 imx_add_gpio_keys(&mx51_efikamx_powerkey_data); 246 imx_add_gpio_keys(&mx51_efikamx_powerkey_data);
253 247
254 if (system_rev == 0x11) { 248 if (system_rev == 0x11) {