aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-ep93xx
diff options
context:
space:
mode:
authorHartley Sweeten <hartleys@visionengravers.com>2010-03-18 13:04:06 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-04-14 06:19:24 -0400
commitb370e082e7c4bd47195b2ec117ceeadd9286d8c0 (patch)
tree3f64636bb64cfd9312256f4219a0fb5e9852bb5b /arch/arm/mach-ep93xx
parentb0c4c898833250ed143e615c32ea1be0e2155fdc (diff)
ARM: 5992/1: ep93xx: pass platform startup data as __initdata
A number of the peripherals for the ep93xx are registered at startup using platform_data that is passed from the board init code to the core code. This data is then copied to a local static variable in the core code. Since the data is copied, the original data can be marked as __initdata and discarded after startup is complete. This adds the __initdata tag to all the appropriate data in the various ep93xx board init's. Specifically, all the struct ep93xx_eth_data, struct ep93xxfb_mach_info, and struct i2c_gpio_platform_data. Also, document the various registration functions and note what data should be marked as __initdata. While here, also cleanup a couple over zealous whitespace tabs. Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Acked-by: Ryan Mallon <ryan@bluewatersys.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-ep93xx')
-rw-r--r--arch/arm/mach-ep93xx/adssphere.c2
-rw-r--r--arch/arm/mach-ep93xx/core.c57
-rw-r--r--arch/arm/mach-ep93xx/edb93xx.c4
-rw-r--r--arch/arm/mach-ep93xx/gesbc9312.c2
-rw-r--r--arch/arm/mach-ep93xx/micro9.c2
-rw-r--r--arch/arm/mach-ep93xx/simone.c6
-rw-r--r--arch/arm/mach-ep93xx/snappercl15.c6
-rw-r--r--arch/arm/mach-ep93xx/ts72xx.c2
8 files changed, 56 insertions, 25 deletions
diff --git a/arch/arm/mach-ep93xx/adssphere.c b/arch/arm/mach-ep93xx/adssphere.c
index caf6d5154aec..3a1a855bfdca 100644
--- a/arch/arm/mach-ep93xx/adssphere.c
+++ b/arch/arm/mach-ep93xx/adssphere.c
@@ -41,7 +41,7 @@ static struct platform_device adssphere_flash = {
41 .resource = &adssphere_flash_resource, 41 .resource = &adssphere_flash_resource,
42}; 42};
43 43
44static struct ep93xx_eth_data adssphere_eth_data = { 44static struct ep93xx_eth_data __initdata adssphere_eth_data = {
45 .phy_id = 1, 45 .phy_id = 1,
46}; 46};
47 47
diff --git a/arch/arm/mach-ep93xx/core.c b/arch/arm/mach-ep93xx/core.c
index 90fb591cbffa..5b1d836c2f05 100644
--- a/arch/arm/mach-ep93xx/core.c
+++ b/arch/arm/mach-ep93xx/core.c
@@ -330,6 +330,10 @@ static struct platform_device ep93xx_ohci_device = {
330 .resource = ep93xx_ohci_resources, 330 .resource = ep93xx_ohci_resources,
331}; 331};
332 332
333
334/*************************************************************************
335 * EP93xx ethernet peripheral handling
336 *************************************************************************/
333static struct ep93xx_eth_data ep93xx_eth_data; 337static struct ep93xx_eth_data ep93xx_eth_data;
334 338
335static struct resource ep93xx_eth_resource[] = { 339static struct resource ep93xx_eth_resource[] = {
@@ -354,6 +358,12 @@ static struct platform_device ep93xx_eth_device = {
354 .resource = ep93xx_eth_resource, 358 .resource = ep93xx_eth_resource,
355}; 359};
356 360
361/**
362 * ep93xx_register_eth - Register the built-in ethernet platform device.
363 * @data: platform specific ethernet configuration (__initdata)
364 * @copy_addr: flag indicating that the MAC address should be copied
365 * from the IndAd registers (as programmed by the bootloader)
366 */
357void __init ep93xx_register_eth(struct ep93xx_eth_data *data, int copy_addr) 367void __init ep93xx_register_eth(struct ep93xx_eth_data *data, int copy_addr)
358{ 368{
359 if (copy_addr) 369 if (copy_addr)
@@ -370,11 +380,19 @@ void __init ep93xx_register_eth(struct ep93xx_eth_data *data, int copy_addr)
370static struct i2c_gpio_platform_data ep93xx_i2c_data; 380static struct i2c_gpio_platform_data ep93xx_i2c_data;
371 381
372static struct platform_device ep93xx_i2c_device = { 382static struct platform_device ep93xx_i2c_device = {
373 .name = "i2c-gpio", 383 .name = "i2c-gpio",
374 .id = 0, 384 .id = 0,
375 .dev.platform_data = &ep93xx_i2c_data, 385 .dev = {
386 .platform_data = &ep93xx_i2c_data,
387 },
376}; 388};
377 389
390/**
391 * ep93xx_register_i2c - Register the i2c platform device.
392 * @data: platform specific i2c-gpio configuration (__initdata)
393 * @devices: platform specific i2c bus device information (__initdata)
394 * @num: the number of devices on the i2c bus
395 */
378void __init ep93xx_register_i2c(struct i2c_gpio_platform_data *data, 396void __init ep93xx_register_i2c(struct i2c_gpio_platform_data *data,
379 struct i2c_board_info *devices, int num) 397 struct i2c_board_info *devices, int num)
380{ 398{
@@ -404,11 +422,11 @@ void __init ep93xx_register_i2c(struct i2c_gpio_platform_data *data,
404 *************************************************************************/ 422 *************************************************************************/
405static struct gpio_led ep93xx_led_pins[] = { 423static struct gpio_led ep93xx_led_pins[] = {
406 { 424 {
407 .name = "platform:grled", 425 .name = "platform:grled",
408 .gpio = EP93XX_GPIO_LINE_GRLED, 426 .gpio = EP93XX_GPIO_LINE_GRLED,
409 }, { 427 }, {
410 .name = "platform:rdled", 428 .name = "platform:rdled",
411 .gpio = EP93XX_GPIO_LINE_RDLED, 429 .gpio = EP93XX_GPIO_LINE_RDLED,
412 }, 430 },
413}; 431};
414 432
@@ -528,7 +546,7 @@ static struct platform_device ep93xx_fb_device = {
528 .name = "ep93xx-fb", 546 .name = "ep93xx-fb",
529 .id = -1, 547 .id = -1,
530 .dev = { 548 .dev = {
531 .platform_data = &ep93xxfb_data, 549 .platform_data = &ep93xxfb_data,
532 .coherent_dma_mask = DMA_BIT_MASK(32), 550 .coherent_dma_mask = DMA_BIT_MASK(32),
533 .dma_mask = &ep93xx_fb_device.dev.coherent_dma_mask, 551 .dma_mask = &ep93xx_fb_device.dev.coherent_dma_mask,
534 }, 552 },
@@ -536,6 +554,10 @@ static struct platform_device ep93xx_fb_device = {
536 .resource = ep93xx_fb_resource, 554 .resource = ep93xx_fb_resource,
537}; 555};
538 556
557/**
558 * ep93xx_register_fb - Register the framebuffer platform device.
559 * @data: platform specific framebuffer configuration (__initdata)
560 */
539void __init ep93xx_register_fb(struct ep93xxfb_mach_info *data) 561void __init ep93xx_register_fb(struct ep93xxfb_mach_info *data)
540{ 562{
541 ep93xxfb_data = *data; 563 ep93xxfb_data = *data;
@@ -546,6 +568,8 @@ void __init ep93xx_register_fb(struct ep93xxfb_mach_info *data)
546/************************************************************************* 568/*************************************************************************
547 * EP93xx matrix keypad peripheral handling 569 * EP93xx matrix keypad peripheral handling
548 *************************************************************************/ 570 *************************************************************************/
571static struct ep93xx_keypad_platform_data ep93xx_keypad_data;
572
549static struct resource ep93xx_keypad_resource[] = { 573static struct resource ep93xx_keypad_resource[] = {
550 { 574 {
551 .start = EP93XX_KEY_MATRIX_PHYS_BASE, 575 .start = EP93XX_KEY_MATRIX_PHYS_BASE,
@@ -559,15 +583,22 @@ static struct resource ep93xx_keypad_resource[] = {
559}; 583};
560 584
561static struct platform_device ep93xx_keypad_device = { 585static struct platform_device ep93xx_keypad_device = {
562 .name = "ep93xx-keypad", 586 .name = "ep93xx-keypad",
563 .id = -1, 587 .id = -1,
564 .num_resources = ARRAY_SIZE(ep93xx_keypad_resource), 588 .dev = {
565 .resource = ep93xx_keypad_resource, 589 .platform_data = &ep93xx_keypad_data,
590 },
591 .num_resources = ARRAY_SIZE(ep93xx_keypad_resource),
592 .resource = ep93xx_keypad_resource,
566}; 593};
567 594
595/**
596 * ep93xx_register_keypad - Register the keypad platform device.
597 * @data: platform specific keypad configuration (__initdata)
598 */
568void __init ep93xx_register_keypad(struct ep93xx_keypad_platform_data *data) 599void __init ep93xx_register_keypad(struct ep93xx_keypad_platform_data *data)
569{ 600{
570 ep93xx_keypad_device.dev.platform_data = data; 601 ep93xx_keypad_data = *data;
571 platform_device_register(&ep93xx_keypad_device); 602 platform_device_register(&ep93xx_keypad_device);
572} 603}
573 604
diff --git a/arch/arm/mach-ep93xx/edb93xx.c b/arch/arm/mach-ep93xx/edb93xx.c
index d22d67ac8b99..3884182cd362 100644
--- a/arch/arm/mach-ep93xx/edb93xx.c
+++ b/arch/arm/mach-ep93xx/edb93xx.c
@@ -74,7 +74,7 @@ static void __init edb93xx_register_flash(void)
74 } 74 }
75} 75}
76 76
77static struct ep93xx_eth_data edb93xx_eth_data = { 77static struct ep93xx_eth_data __initdata edb93xx_eth_data = {
78 .phy_id = 1, 78 .phy_id = 1,
79}; 79};
80 80
@@ -82,7 +82,7 @@ static struct ep93xx_eth_data edb93xx_eth_data = {
82/************************************************************************* 82/*************************************************************************
83 * EDB93xx i2c peripheral handling 83 * EDB93xx i2c peripheral handling
84 *************************************************************************/ 84 *************************************************************************/
85static struct i2c_gpio_platform_data edb93xx_i2c_gpio_data = { 85static struct i2c_gpio_platform_data __initdata edb93xx_i2c_gpio_data = {
86 .sda_pin = EP93XX_GPIO_LINE_EEDAT, 86 .sda_pin = EP93XX_GPIO_LINE_EEDAT,
87 .sda_is_open_drain = 0, 87 .sda_is_open_drain = 0,
88 .scl_pin = EP93XX_GPIO_LINE_EECLK, 88 .scl_pin = EP93XX_GPIO_LINE_EECLK,
diff --git a/arch/arm/mach-ep93xx/gesbc9312.c b/arch/arm/mach-ep93xx/gesbc9312.c
index 3da7ca816d19..a809618e9f05 100644
--- a/arch/arm/mach-ep93xx/gesbc9312.c
+++ b/arch/arm/mach-ep93xx/gesbc9312.c
@@ -41,7 +41,7 @@ static struct platform_device gesbc9312_flash = {
41 .resource = &gesbc9312_flash_resource, 41 .resource = &gesbc9312_flash_resource,
42}; 42};
43 43
44static struct ep93xx_eth_data gesbc9312_eth_data = { 44static struct ep93xx_eth_data __initdata gesbc9312_eth_data = {
45 .phy_id = 1, 45 .phy_id = 1,
46}; 46};
47 47
diff --git a/arch/arm/mach-ep93xx/micro9.c b/arch/arm/mach-ep93xx/micro9.c
index c33360e82868..1cc911b4efa6 100644
--- a/arch/arm/mach-ep93xx/micro9.c
+++ b/arch/arm/mach-ep93xx/micro9.c
@@ -80,7 +80,7 @@ static void __init micro9_register_flash(void)
80/************************************************************************* 80/*************************************************************************
81 * Micro9 Ethernet 81 * Micro9 Ethernet
82 *************************************************************************/ 82 *************************************************************************/
83static struct ep93xx_eth_data micro9_eth_data = { 83static struct ep93xx_eth_data __initdata micro9_eth_data = {
84 .phy_id = 0x1f, 84 .phy_id = 0x1f,
85}; 85};
86 86
diff --git a/arch/arm/mach-ep93xx/simone.c b/arch/arm/mach-ep93xx/simone.c
index cd93990f1b99..388aec95f60e 100644
--- a/arch/arm/mach-ep93xx/simone.c
+++ b/arch/arm/mach-ep93xx/simone.c
@@ -49,17 +49,17 @@ static struct platform_device simone_flash = {
49 }, 49 },
50}; 50};
51 51
52static struct ep93xx_eth_data simone_eth_data = { 52static struct ep93xx_eth_data __initdata simone_eth_data = {
53 .phy_id = 1, 53 .phy_id = 1,
54}; 54};
55 55
56static struct ep93xxfb_mach_info simone_fb_info = { 56static struct ep93xxfb_mach_info __initdata simone_fb_info = {
57 .num_modes = EP93XXFB_USE_MODEDB, 57 .num_modes = EP93XXFB_USE_MODEDB,
58 .bpp = 16, 58 .bpp = 16,
59 .flags = EP93XXFB_USE_SDCSN0 | EP93XXFB_PCLK_FALLING, 59 .flags = EP93XXFB_USE_SDCSN0 | EP93XXFB_PCLK_FALLING,
60}; 60};
61 61
62static struct i2c_gpio_platform_data simone_i2c_gpio_data = { 62static struct i2c_gpio_platform_data __initdata simone_i2c_gpio_data = {
63 .sda_pin = EP93XX_GPIO_LINE_EEDAT, 63 .sda_pin = EP93XX_GPIO_LINE_EEDAT,
64 .sda_is_open_drain = 0, 64 .sda_is_open_drain = 0,
65 .scl_pin = EP93XX_GPIO_LINE_EECLK, 65 .scl_pin = EP93XX_GPIO_LINE_EECLK,
diff --git a/arch/arm/mach-ep93xx/snappercl15.c b/arch/arm/mach-ep93xx/snappercl15.c
index 51134b0382ca..38deaee40397 100644
--- a/arch/arm/mach-ep93xx/snappercl15.c
+++ b/arch/arm/mach-ep93xx/snappercl15.c
@@ -125,11 +125,11 @@ static struct platform_device snappercl15_nand_device = {
125 .num_resources = ARRAY_SIZE(snappercl15_nand_resource), 125 .num_resources = ARRAY_SIZE(snappercl15_nand_resource),
126}; 126};
127 127
128static struct ep93xx_eth_data snappercl15_eth_data = { 128static struct ep93xx_eth_data __initdata snappercl15_eth_data = {
129 .phy_id = 1, 129 .phy_id = 1,
130}; 130};
131 131
132static struct i2c_gpio_platform_data snappercl15_i2c_gpio_data = { 132static struct i2c_gpio_platform_data __initdata snappercl15_i2c_gpio_data = {
133 .sda_pin = EP93XX_GPIO_LINE_EEDAT, 133 .sda_pin = EP93XX_GPIO_LINE_EEDAT,
134 .sda_is_open_drain = 0, 134 .sda_is_open_drain = 0,
135 .scl_pin = EP93XX_GPIO_LINE_EECLK, 135 .scl_pin = EP93XX_GPIO_LINE_EECLK,
@@ -145,7 +145,7 @@ static struct i2c_board_info __initdata snappercl15_i2c_data[] = {
145 }, 145 },
146}; 146};
147 147
148static struct ep93xxfb_mach_info snappercl15_fb_info = { 148static struct ep93xxfb_mach_info __initdata snappercl15_fb_info = {
149 .num_modes = EP93XXFB_USE_MODEDB, 149 .num_modes = EP93XXFB_USE_MODEDB,
150 .bpp = 16, 150 .bpp = 16,
151}; 151};
diff --git a/arch/arm/mach-ep93xx/ts72xx.c b/arch/arm/mach-ep93xx/ts72xx.c
index fac1ec7a60fb..9553031900b0 100644
--- a/arch/arm/mach-ep93xx/ts72xx.c
+++ b/arch/arm/mach-ep93xx/ts72xx.c
@@ -186,7 +186,7 @@ static struct platform_device ts72xx_wdt_device = {
186 .resource = ts72xx_wdt_resources, 186 .resource = ts72xx_wdt_resources,
187}; 187};
188 188
189static struct ep93xx_eth_data ts72xx_eth_data = { 189static struct ep93xx_eth_data __initdata ts72xx_eth_data = {
190 .phy_id = 1, 190 .phy_id = 1,
191}; 191};
192 192