ARM: mx5: convert to new leds-gpio registration helper

This gets rid of per machine struct platform_device definitions and allows
to move the platform data and led definition to .init.rodata.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Uwe Kleine-König 2011-05-28 21:05:02 +02:00 committed by Sascha Hauer
parent 47e837b54c
commit 5b8d628ca4
5 changed files with 19 additions and 53 deletions

View File

@ -109,6 +109,7 @@ config MACH_EUKREA_MBIMX51_BASEBOARD
bool bool
select IMX_HAVE_PLATFORM_IMX_KEYPAD select IMX_HAVE_PLATFORM_IMX_KEYPAD
select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
select LEDS_GPIO_REGISTER
help help
This adds board specific devices that can be found on Eukrea's This adds board specific devices that can be found on Eukrea's
MBIMX51 evaluation board. MBIMX51 evaluation board.
@ -135,6 +136,7 @@ config MACH_EUKREA_MBIMXSD51_BASEBOARD
prompt "Eukrea MBIMXSD development board" prompt "Eukrea MBIMXSD development board"
bool bool
select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX select IMX_HAVE_PLATFORM_SDHCI_ESDHC_IMX
select LEDS_GPIO_REGISTER
help help
This adds board specific devices that can be found on Eukrea's This adds board specific devices that can be found on Eukrea's
MBIMXSD evaluation board. MBIMXSD evaluation board.
@ -151,6 +153,7 @@ config MX51_EFIKA_COMMON
config MACH_MX51_EFIKAMX config MACH_MX51_EFIKAMX
bool "Support MX51 Genesi Efika MX nettop" bool "Support MX51 Genesi Efika MX nettop"
select LEDS_GPIO_REGISTER
select MX51_EFIKA_COMMON select MX51_EFIKA_COMMON
help help
Include support for Genesi Efika MX nettop. This includes specific Include support for Genesi Efika MX nettop. This includes specific
@ -158,6 +161,7 @@ config MACH_MX51_EFIKAMX
config MACH_MX51_EFIKASB config MACH_MX51_EFIKASB
bool "Support MX51 Genesi Efika Smartbook" bool "Support MX51 Genesi Efika Smartbook"
select LEDS_GPIO_REGISTER
select MX51_EFIKA_COMMON select MX51_EFIKA_COMMON
help help
Include support for Genesi Efika Smartbook. This includes specific Include support for Genesi Efika Smartbook. This includes specific

View File

@ -139,7 +139,7 @@ static void __init mx51_efikamx_board_id(void)
} }
} }
static struct gpio_led mx51_efikamx_leds[] = { static struct gpio_led mx51_efikamx_leds[] __initdata = {
{ {
.name = "efikamx:green", .name = "efikamx:green",
.default_trigger = "default-on", .default_trigger = "default-on",
@ -157,19 +157,12 @@ static struct gpio_led mx51_efikamx_leds[] = {
}, },
}; };
static struct gpio_led_platform_data mx51_efikamx_leds_data = { static const struct gpio_led_platform_data
mx51_efikamx_leds_data __initconst = {
.leds = mx51_efikamx_leds, .leds = mx51_efikamx_leds,
.num_leds = ARRAY_SIZE(mx51_efikamx_leds), .num_leds = ARRAY_SIZE(mx51_efikamx_leds),
}; };
static struct platform_device mx51_efikamx_leds_device = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = &mx51_efikamx_leds_data,
},
};
static struct gpio_keys_button mx51_efikamx_powerkey[] = { static struct gpio_keys_button mx51_efikamx_powerkey[] = {
{ {
.code = KEY_POWER, .code = KEY_POWER,
@ -248,7 +241,7 @@ static void __init mx51_efikamx_init(void)
mx51_efikamx_leds[2].default_trigger = "mmc1"; mx51_efikamx_leds[2].default_trigger = "mmc1";
} }
platform_device_register(&mx51_efikamx_leds_device); gpio_led_register_device(-1, &mx51_efikamx_leds_data);
imx_add_gpio_keys(&mx51_efikamx_powerkey_data); imx_add_gpio_keys(&mx51_efikamx_powerkey_data);
if (system_rev == 0x11) { if (system_rev == 0x11) {

View File

@ -132,7 +132,7 @@ static void __init mx51_efikasb_usb(void)
mxc_register_device(&mxc_usbh2_device, &usbh2_config); mxc_register_device(&mxc_usbh2_device, &usbh2_config);
} }
static struct gpio_led mx51_efikasb_leds[] = { static const struct gpio_led mx51_efikasb_leds[] __initconst = {
{ {
.name = "efikasb:green", .name = "efikasb:green",
.default_trigger = "default-on", .default_trigger = "default-on",
@ -146,19 +146,12 @@ static struct gpio_led mx51_efikasb_leds[] = {
}, },
}; };
static struct gpio_led_platform_data mx51_efikasb_leds_data = { static const struct gpio_led_platform_data
mx51_efikasb_leds_data __initconst = {
.leds = mx51_efikasb_leds, .leds = mx51_efikasb_leds,
.num_leds = ARRAY_SIZE(mx51_efikasb_leds), .num_leds = ARRAY_SIZE(mx51_efikasb_leds),
}; };
static struct platform_device mx51_efikasb_leds_device = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = &mx51_efikasb_leds_data,
},
};
static struct gpio_keys_button mx51_efikasb_keys[] = { static struct gpio_keys_button mx51_efikasb_keys[] = {
{ {
.code = KEY_POWER, .code = KEY_POWER,
@ -256,9 +249,8 @@ static void __init efikasb_board_init(void)
mx51_efikasb_usb(); mx51_efikasb_usb();
imx51_add_sdhci_esdhc_imx(1, NULL); imx51_add_sdhci_esdhc_imx(1, NULL);
platform_device_register(&mx51_efikasb_leds_device); gpio_led_register_device(-1, &mx51_efikasb_leds_data);
imx_add_gpio_keys(&mx51_efikasb_keys_data); imx_add_gpio_keys(&mx51_efikasb_keys_data);
} }
static void __init mx51_efikasb_timer_init(void) static void __init mx51_efikasb_timer_init(void)

View File

@ -37,7 +37,7 @@
#define MBIMX51_LED2 IMX_GPIO_NR(3, 7) #define MBIMX51_LED2 IMX_GPIO_NR(3, 7)
#define MBIMX51_LED3 IMX_GPIO_NR(3, 8) #define MBIMX51_LED3 IMX_GPIO_NR(3, 8)
static struct gpio_led mbimx51_leds[] = { static const struct gpio_led mbimx51_leds[] __initconst = {
{ {
.name = "led0", .name = "led0",
.default_trigger = "heartbeat", .default_trigger = "heartbeat",
@ -64,23 +64,11 @@ static struct gpio_led mbimx51_leds[] = {
}, },
}; };
static struct gpio_led_platform_data mbimx51_leds_info = { static const struct gpio_led_platform_data mbimx51_leds_info __initconst = {
.leds = mbimx51_leds, .leds = mbimx51_leds,
.num_leds = ARRAY_SIZE(mbimx51_leds), .num_leds = ARRAY_SIZE(mbimx51_leds),
}; };
static struct platform_device mbimx51_leds_gpio = {
.name = "leds-gpio",
.id = -1,
.dev = {
.platform_data = &mbimx51_leds_info,
},
};
static struct platform_device *devices[] __initdata = {
&mbimx51_leds_gpio,
};
static iomux_v3_cfg_t mbimx51_pads[] = { static iomux_v3_cfg_t mbimx51_pads[] = {
/* UART2 */ /* UART2 */
MX51_PAD_UART2_RXD__UART2_RXD, MX51_PAD_UART2_RXD__UART2_RXD,
@ -204,7 +192,7 @@ void __init eukrea_mbimx51_baseboard_init(void)
gpio_direction_output(MBIMX51_LED3, 1); gpio_direction_output(MBIMX51_LED3, 1);
gpio_free(MBIMX51_LED3); gpio_free(MBIMX51_LED3);
platform_add_devices(devices, ARRAY_SIZE(devices)); gpio_led_register_device(-1, &mbimx51_leds_info);
imx51_add_imx_keypad(&mbimx51_map_data); imx51_add_imx_keypad(&mbimx51_map_data);

View File

@ -74,7 +74,7 @@ static iomux_v3_cfg_t eukrea_mbimxsd_pads[] = {
#define GPIO_LED1 IMX_GPIO_NR(3, 30) #define GPIO_LED1 IMX_GPIO_NR(3, 30)
#define GPIO_SWITCH1 IMX_GPIO_NR(3, 31) #define GPIO_SWITCH1 IMX_GPIO_NR(3, 31)
static struct gpio_led eukrea_mbimxsd_leds[] = { static const struct gpio_led eukrea_mbimxsd_leds[] __initconst = {
{ {
.name = "led1", .name = "led1",
.default_trigger = "heartbeat", .default_trigger = "heartbeat",
@ -83,19 +83,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, .leds = eukrea_mbimxsd_leds,
.num_leds = ARRAY_SIZE(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[] = { static struct gpio_keys_button eukrea_mbimxsd_gpio_buttons[] = {
{ {
.gpio = GPIO_SWITCH1, .gpio = GPIO_SWITCH1,
@ -112,10 +105,6 @@ static const struct gpio_keys_platform_data
.nbuttons = ARRAY_SIZE(eukrea_mbimxsd_gpio_buttons), .nbuttons = ARRAY_SIZE(eukrea_mbimxsd_gpio_buttons),
}; };
static struct platform_device *platform_devices[] __initdata = {
&eukrea_mbimxsd_leds_gpio,
};
static const struct imxuart_platform_data uart_pdata __initconst = { static const struct imxuart_platform_data uart_pdata __initconst = {
.flags = IMXUART_HAVE_RTSCTS, .flags = IMXUART_HAVE_RTSCTS,
}; };
@ -154,6 +143,6 @@ void __init eukrea_mbimxsd51_baseboard_init(void)
i2c_register_board_info(0, eukrea_mbimxsd_i2c_devices, i2c_register_board_info(0, eukrea_mbimxsd_i2c_devices,
ARRAY_SIZE(eukrea_mbimxsd_i2c_devices)); 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); imx_add_gpio_keys(&eukrea_mbimxsd_button_data);
} }