diff options
author | Andrew Victor <andrew@sanpeople.com> | 2007-02-01 03:22:23 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2007-02-08 09:50:53 -0500 |
commit | a93d48cc6019f84394b31d10c0d830a3b71696be (patch) | |
tree | 9b39c44631e1c6de0336a02e56e4e6f446761069 | |
parent | ae0a846e411dc0b568e8ccda584896310ee5f369 (diff) |
[ARM] 4119/1: AT91: Fix build of AT91SAM9260
Fix build failure of AT91SAM9260.
The AT91RM9200 ethernet driver (at91_ether.c) stores platform data in a
"struct at91_eth_data" structure, but the AT91SAM9260 (and AT91SAM9263)
ethernet driver (macb.c) [developed on the AVR32 architecture] expects a
"struct eth_platform_data".
Since the platform data of the two drivers is very similar, we continue
to use the "struct at91_eth_data" for all AT91 processors but add a
#define eth_platform_data at91_eth_data
in board.h to keep the MACB driver happy.
Original patch by Jan Altenberg.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/mach-at91rm9200/at91sam9260_devices.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-at91rm9200/board-sam9260ek.c | 2 | ||||
-rw-r--r-- | include/asm-arm/arch-at91rm9200/board.h | 4 |
3 files changed, 8 insertions, 4 deletions
diff --git a/arch/arm/mach-at91rm9200/at91sam9260_devices.c b/arch/arm/mach-at91rm9200/at91sam9260_devices.c index f42d3a40ec3c..f338f78eb943 100644 --- a/arch/arm/mach-at91rm9200/at91sam9260_devices.c +++ b/arch/arm/mach-at91rm9200/at91sam9260_devices.c | |||
@@ -128,7 +128,7 @@ void __init at91_add_device_udc(struct at91_udc_data *data) {} | |||
128 | 128 | ||
129 | #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE) | 129 | #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE) |
130 | static u64 eth_dmamask = 0xffffffffUL; | 130 | static u64 eth_dmamask = 0xffffffffUL; |
131 | static struct eth_platform_data eth_data; | 131 | static struct at91_eth_data eth_data; |
132 | 132 | ||
133 | static struct resource eth_resources[] = { | 133 | static struct resource eth_resources[] = { |
134 | [0] = { | 134 | [0] = { |
@@ -155,7 +155,7 @@ static struct platform_device at91sam9260_eth_device = { | |||
155 | .num_resources = ARRAY_SIZE(eth_resources), | 155 | .num_resources = ARRAY_SIZE(eth_resources), |
156 | }; | 156 | }; |
157 | 157 | ||
158 | void __init at91_add_device_eth(struct eth_platform_data *data) | 158 | void __init at91_add_device_eth(struct at91_eth_data *data) |
159 | { | 159 | { |
160 | if (!data) | 160 | if (!data) |
161 | return; | 161 | return; |
@@ -192,7 +192,7 @@ void __init at91_add_device_eth(struct eth_platform_data *data) | |||
192 | platform_device_register(&at91sam9260_eth_device); | 192 | platform_device_register(&at91sam9260_eth_device); |
193 | } | 193 | } |
194 | #else | 194 | #else |
195 | void __init at91_add_device_eth(struct eth_platform_data *data) {} | 195 | void __init at91_add_device_eth(struct at91_eth_data *data) {} |
196 | #endif | 196 | #endif |
197 | 197 | ||
198 | 198 | ||
diff --git a/arch/arm/mach-at91rm9200/board-sam9260ek.c b/arch/arm/mach-at91rm9200/board-sam9260ek.c index da5d58ac870b..37c7a7d195c3 100644 --- a/arch/arm/mach-at91rm9200/board-sam9260ek.c +++ b/arch/arm/mach-at91rm9200/board-sam9260ek.c | |||
@@ -118,7 +118,7 @@ static struct spi_board_info ek_spi_devices[] = { | |||
118 | /* | 118 | /* |
119 | * MACB Ethernet device | 119 | * MACB Ethernet device |
120 | */ | 120 | */ |
121 | static struct __initdata eth_platform_data ek_macb_data = { | 121 | static struct __initdata at91_eth_data ek_macb_data = { |
122 | .phy_irq_pin = AT91_PIN_PA7, | 122 | .phy_irq_pin = AT91_PIN_PA7, |
123 | .is_rmii = 1, | 123 | .is_rmii = 1, |
124 | }; | 124 | }; |
diff --git a/include/asm-arm/arch-at91rm9200/board.h b/include/asm-arm/arch-at91rm9200/board.h index 768e0fc6aa2f..f3a974ba3b51 100644 --- a/include/asm-arm/arch-at91rm9200/board.h +++ b/include/asm-arm/arch-at91rm9200/board.h | |||
@@ -69,6 +69,10 @@ struct at91_eth_data { | |||
69 | }; | 69 | }; |
70 | extern void __init at91_add_device_eth(struct at91_eth_data *data); | 70 | extern void __init at91_add_device_eth(struct at91_eth_data *data); |
71 | 71 | ||
72 | #if defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9263) | ||
73 | #define eth_platform_data at91_eth_data | ||
74 | #endif | ||
75 | |||
72 | /* USB Host */ | 76 | /* USB Host */ |
73 | struct at91_usbh_data { | 77 | struct at91_usbh_data { |
74 | u8 ports; /* number of ports on root hub */ | 78 | u8 ports; /* number of ports on root hub */ |