diff options
author | Dale Farnsworth <dale@farnsworth.org> | 2007-03-03 08:40:28 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-03-06 06:14:54 -0500 |
commit | 84dd619e4dc3b0b1c40dafd98c90fd950bce7bc5 (patch) | |
tree | 939d601f7abda95e3f4919af2a371873f0c66928 /arch/mips | |
parent | b2cbbd8e0e8093fbf115ac2669482b016d781c78 (diff) |
mv643xx_eth: Place explicit port number in mv643xx_eth_platform_data
We were using the platform_device.id field to identify which ethernet
port is used for mv643xx_eth device. This is not generally correct.
It will be incorrect, for example, if a hardware platform uses a single
port but not the first port. Here, we add an explicit port_number field
to struct mv643xx_eth_platform_data.
This makes the mv643xx_eth_platform_data structure required, but that
isn't an issue since all users currently provide it already.
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/momentum/jaguar_atx/platform.c | 8 | ||||
-rw-r--r-- | arch/mips/momentum/ocelot_3/platform.c | 8 | ||||
-rw-r--r-- | arch/mips/momentum/ocelot_c/platform.c | 4 |
3 files changed, 18 insertions, 2 deletions
diff --git a/arch/mips/momentum/jaguar_atx/platform.c b/arch/mips/momentum/jaguar_atx/platform.c index 771e55f39875..561844878a90 100644 --- a/arch/mips/momentum/jaguar_atx/platform.c +++ b/arch/mips/momentum/jaguar_atx/platform.c | |||
@@ -48,6 +48,8 @@ static struct resource mv64x60_eth0_resources[] = { | |||
48 | }; | 48 | }; |
49 | 49 | ||
50 | static struct mv643xx_eth_platform_data eth0_pd = { | 50 | static struct mv643xx_eth_platform_data eth0_pd = { |
51 | .port_number = 0, | ||
52 | |||
51 | .tx_sram_addr = MV_SRAM_BASE_ETH0, | 53 | .tx_sram_addr = MV_SRAM_BASE_ETH0, |
52 | .tx_sram_size = MV_SRAM_TXRING_SIZE, | 54 | .tx_sram_size = MV_SRAM_TXRING_SIZE, |
53 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, | 55 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, |
@@ -77,6 +79,8 @@ static struct resource mv64x60_eth1_resources[] = { | |||
77 | }; | 79 | }; |
78 | 80 | ||
79 | static struct mv643xx_eth_platform_data eth1_pd = { | 81 | static struct mv643xx_eth_platform_data eth1_pd = { |
82 | .port_number = 1, | ||
83 | |||
80 | .tx_sram_addr = MV_SRAM_BASE_ETH1, | 84 | .tx_sram_addr = MV_SRAM_BASE_ETH1, |
81 | .tx_sram_size = MV_SRAM_TXRING_SIZE, | 85 | .tx_sram_size = MV_SRAM_TXRING_SIZE, |
82 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, | 86 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, |
@@ -105,7 +109,9 @@ static struct resource mv64x60_eth2_resources[] = { | |||
105 | }, | 109 | }, |
106 | }; | 110 | }; |
107 | 111 | ||
108 | static struct mv643xx_eth_platform_data eth2_pd; | 112 | static struct mv643xx_eth_platform_data eth2_pd = { |
113 | .port_number = 2, | ||
114 | }; | ||
109 | 115 | ||
110 | static struct platform_device eth2_device = { | 116 | static struct platform_device eth2_device = { |
111 | .name = MV643XX_ETH_NAME, | 117 | .name = MV643XX_ETH_NAME, |
diff --git a/arch/mips/momentum/ocelot_3/platform.c b/arch/mips/momentum/ocelot_3/platform.c index b80733f0c66d..44e4c3fc7403 100644 --- a/arch/mips/momentum/ocelot_3/platform.c +++ b/arch/mips/momentum/ocelot_3/platform.c | |||
@@ -48,6 +48,8 @@ static struct resource mv64x60_eth0_resources[] = { | |||
48 | }; | 48 | }; |
49 | 49 | ||
50 | static struct mv643xx_eth_platform_data eth0_pd = { | 50 | static struct mv643xx_eth_platform_data eth0_pd = { |
51 | .port_number = 0, | ||
52 | |||
51 | .tx_sram_addr = MV_SRAM_BASE_ETH0, | 53 | .tx_sram_addr = MV_SRAM_BASE_ETH0, |
52 | .tx_sram_size = MV_SRAM_TXRING_SIZE, | 54 | .tx_sram_size = MV_SRAM_TXRING_SIZE, |
53 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, | 55 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, |
@@ -77,6 +79,8 @@ static struct resource mv64x60_eth1_resources[] = { | |||
77 | }; | 79 | }; |
78 | 80 | ||
79 | static struct mv643xx_eth_platform_data eth1_pd = { | 81 | static struct mv643xx_eth_platform_data eth1_pd = { |
82 | .port_number = 1, | ||
83 | |||
80 | .tx_sram_addr = MV_SRAM_BASE_ETH1, | 84 | .tx_sram_addr = MV_SRAM_BASE_ETH1, |
81 | .tx_sram_size = MV_SRAM_TXRING_SIZE, | 85 | .tx_sram_size = MV_SRAM_TXRING_SIZE, |
82 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, | 86 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, |
@@ -105,7 +109,9 @@ static struct resource mv64x60_eth2_resources[] = { | |||
105 | }, | 109 | }, |
106 | }; | 110 | }; |
107 | 111 | ||
108 | static struct mv643xx_eth_platform_data eth2_pd; | 112 | static struct mv643xx_eth_platform_data eth2_pd = { |
113 | .port_number = 2, | ||
114 | }; | ||
109 | 115 | ||
110 | static struct platform_device eth2_device = { | 116 | static struct platform_device eth2_device = { |
111 | .name = MV643XX_ETH_NAME, | 117 | .name = MV643XX_ETH_NAME, |
diff --git a/arch/mips/momentum/ocelot_c/platform.c b/arch/mips/momentum/ocelot_c/platform.c index f7cd303f3eba..7780aa0c6555 100644 --- a/arch/mips/momentum/ocelot_c/platform.c +++ b/arch/mips/momentum/ocelot_c/platform.c | |||
@@ -47,6 +47,8 @@ static struct resource mv64x60_eth0_resources[] = { | |||
47 | }; | 47 | }; |
48 | 48 | ||
49 | static struct mv643xx_eth_platform_data eth0_pd = { | 49 | static struct mv643xx_eth_platform_data eth0_pd = { |
50 | .port_number = 0, | ||
51 | |||
50 | .tx_sram_addr = MV_SRAM_BASE_ETH0, | 52 | .tx_sram_addr = MV_SRAM_BASE_ETH0, |
51 | .tx_sram_size = MV_SRAM_TXRING_SIZE, | 53 | .tx_sram_size = MV_SRAM_TXRING_SIZE, |
52 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, | 54 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, |
@@ -76,6 +78,8 @@ static struct resource mv64x60_eth1_resources[] = { | |||
76 | }; | 78 | }; |
77 | 79 | ||
78 | static struct mv643xx_eth_platform_data eth1_pd = { | 80 | static struct mv643xx_eth_platform_data eth1_pd = { |
81 | .port_number = 1, | ||
82 | |||
79 | .tx_sram_addr = MV_SRAM_BASE_ETH1, | 83 | .tx_sram_addr = MV_SRAM_BASE_ETH1, |
80 | .tx_sram_size = MV_SRAM_TXRING_SIZE, | 84 | .tx_sram_size = MV_SRAM_TXRING_SIZE, |
81 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, | 85 | .tx_queue_size = MV_SRAM_TXRING_SIZE / 16, |