提交 a93d48cc 编写于 作者: A Andrew Victor 提交者: Russell King

[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: NAndrew Victor <andrew@sanpeople.com>
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 ae0a846e
...@@ -128,7 +128,7 @@ void __init at91_add_device_udc(struct at91_udc_data *data) {} ...@@ -128,7 +128,7 @@ void __init at91_add_device_udc(struct at91_udc_data *data) {}
#if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE) #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE)
static u64 eth_dmamask = 0xffffffffUL; static u64 eth_dmamask = 0xffffffffUL;
static struct eth_platform_data eth_data; static struct at91_eth_data eth_data;
static struct resource eth_resources[] = { static struct resource eth_resources[] = {
[0] = { [0] = {
...@@ -155,7 +155,7 @@ static struct platform_device at91sam9260_eth_device = { ...@@ -155,7 +155,7 @@ static struct platform_device at91sam9260_eth_device = {
.num_resources = ARRAY_SIZE(eth_resources), .num_resources = ARRAY_SIZE(eth_resources),
}; };
void __init at91_add_device_eth(struct eth_platform_data *data) void __init at91_add_device_eth(struct at91_eth_data *data)
{ {
if (!data) if (!data)
return; return;
...@@ -192,7 +192,7 @@ void __init at91_add_device_eth(struct eth_platform_data *data) ...@@ -192,7 +192,7 @@ void __init at91_add_device_eth(struct eth_platform_data *data)
platform_device_register(&at91sam9260_eth_device); platform_device_register(&at91sam9260_eth_device);
} }
#else #else
void __init at91_add_device_eth(struct eth_platform_data *data) {} void __init at91_add_device_eth(struct at91_eth_data *data) {}
#endif #endif
......
...@@ -118,7 +118,7 @@ static struct spi_board_info ek_spi_devices[] = { ...@@ -118,7 +118,7 @@ static struct spi_board_info ek_spi_devices[] = {
/* /*
* MACB Ethernet device * MACB Ethernet device
*/ */
static struct __initdata eth_platform_data ek_macb_data = { static struct __initdata at91_eth_data ek_macb_data = {
.phy_irq_pin = AT91_PIN_PA7, .phy_irq_pin = AT91_PIN_PA7,
.is_rmii = 1, .is_rmii = 1,
}; };
......
...@@ -69,6 +69,10 @@ struct at91_eth_data { ...@@ -69,6 +69,10 @@ struct at91_eth_data {
}; };
extern void __init at91_add_device_eth(struct at91_eth_data *data); extern void __init at91_add_device_eth(struct at91_eth_data *data);
#if defined(CONFIG_ARCH_AT91SAM9260) || defined(CONFIG_ARCH_AT91SAM9263)
#define eth_platform_data at91_eth_data
#endif
/* USB Host */ /* USB Host */
struct at91_usbh_data { struct at91_usbh_data {
u8 ports; /* number of ports on root hub */ u8 ports; /* number of ports on root hub */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册