aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips/momentum/jaguar_atx/platform.c21
-rw-r--r--arch/mips/momentum/ocelot_3/platform.c21
-rw-r--r--arch/mips/momentum/ocelot_c/platform.c14
-rw-r--r--arch/ppc/Kconfig15
-rw-r--r--drivers/net/Kconfig21
5 files changed, 15 insertions, 77 deletions
diff --git a/arch/mips/momentum/jaguar_atx/platform.c b/arch/mips/momentum/jaguar_atx/platform.c
index 81037709ba0d..c78ba3025af4 100644
--- a/arch/mips/momentum/jaguar_atx/platform.c
+++ b/arch/mips/momentum/jaguar_atx/platform.c
@@ -38,8 +38,6 @@ static struct platform_device mv643xx_eth_shared_device = {
38#define MV64x60_IRQ_ETH_1 49 38#define MV64x60_IRQ_ETH_1 49
39#define MV64x60_IRQ_ETH_2 50 39#define MV64x60_IRQ_ETH_2 50
40 40
41#ifdef CONFIG_MV643XX_ETH_0
42
43static struct resource mv64x60_eth0_resources[] = { 41static struct resource mv64x60_eth0_resources[] = {
44 [0] = { 42 [0] = {
45 .name = "eth0 irq", 43 .name = "eth0 irq",
@@ -72,9 +70,6 @@ static struct platform_device eth0_device = {
72 .platform_data = &eth0_pd, 70 .platform_data = &eth0_pd,
73 }, 71 },
74}; 72};
75#endif /* CONFIG_MV643XX_ETH_0 */
76
77#ifdef CONFIG_MV643XX_ETH_1
78 73
79static struct resource mv64x60_eth1_resources[] = { 74static struct resource mv64x60_eth1_resources[] = {
80 [0] = { 75 [0] = {
@@ -108,9 +103,6 @@ static struct platform_device eth1_device = {
108 .platform_data = &eth1_pd, 103 .platform_data = &eth1_pd,
109 }, 104 },
110}; 105};
111#endif /* CONFIG_MV643XX_ETH_1 */
112
113#ifdef CONFIG_MV643XX_ETH_2
114 106
115static struct resource mv64x60_eth2_resources[] = { 107static struct resource mv64x60_eth2_resources[] = {
116 [0] = { 108 [0] = {
@@ -136,19 +128,12 @@ static struct platform_device eth2_device = {
136 .platform_data = &eth2_pd, 128 .platform_data = &eth2_pd,
137 }, 129 },
138}; 130};
139#endif /* CONFIG_MV643XX_ETH_2 */
140 131
141static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { 132static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
142 &mv643xx_eth_shared_device, 133 &mv643xx_eth_shared_device,
143#ifdef CONFIG_MV643XX_ETH_0
144 &eth0_device, 134 &eth0_device,
145#endif
146#ifdef CONFIG_MV643XX_ETH_1
147 &eth1_device, 135 &eth1_device,
148#endif
149#ifdef CONFIG_MV643XX_ETH_2
150 &eth2_device, 136 &eth2_device,
151#endif
152}; 137};
153 138
154static u8 __init exchange_bit(u8 val, u8 cs) 139static u8 __init exchange_bit(u8 val, u8 cs)
@@ -215,15 +200,9 @@ static int __init mv643xx_eth_add_pds(void)
215 int ret; 200 int ret;
216 201
217 get_mac(mac); 202 get_mac(mac);
218#ifdef CONFIG_MV643XX_ETH_0
219 eth_mac_add(eth1_mac_addr, mac, 0); 203 eth_mac_add(eth1_mac_addr, mac, 0);
220#endif
221#ifdef CONFIG_MV643XX_ETH_1
222 eth_mac_add(eth1_mac_addr, mac, 1); 204 eth_mac_add(eth1_mac_addr, mac, 1);
223#endif
224#ifdef CONFIG_MV643XX_ETH_2
225 eth_mac_add(eth2_mac_addr, mac, 2); 205 eth_mac_add(eth2_mac_addr, mac, 2);
226#endif
227 ret = platform_add_devices(mv643xx_eth_pd_devs, 206 ret = platform_add_devices(mv643xx_eth_pd_devs,
228 ARRAY_SIZE(mv643xx_eth_pd_devs)); 207 ARRAY_SIZE(mv643xx_eth_pd_devs));
229 208
diff --git a/arch/mips/momentum/ocelot_3/platform.c b/arch/mips/momentum/ocelot_3/platform.c
index 57cfe5c6e4a8..0ab8d231cf7d 100644
--- a/arch/mips/momentum/ocelot_3/platform.c
+++ b/arch/mips/momentum/ocelot_3/platform.c
@@ -38,8 +38,6 @@ static struct platform_device mv643xx_eth_shared_device = {
38#define MV64x60_IRQ_ETH_1 49 38#define MV64x60_IRQ_ETH_1 49
39#define MV64x60_IRQ_ETH_2 50 39#define MV64x60_IRQ_ETH_2 50
40 40
41#ifdef CONFIG_MV643XX_ETH_0
42
43static struct resource mv64x60_eth0_resources[] = { 41static struct resource mv64x60_eth0_resources[] = {
44 [0] = { 42 [0] = {
45 .name = "eth0 irq", 43 .name = "eth0 irq",
@@ -72,9 +70,6 @@ static struct platform_device eth0_device = {
72 .platform_data = &eth0_pd, 70 .platform_data = &eth0_pd,
73 }, 71 },
74}; 72};
75#endif /* CONFIG_MV643XX_ETH_0 */
76
77#ifdef CONFIG_MV643XX_ETH_1
78 73
79static struct resource mv64x60_eth1_resources[] = { 74static struct resource mv64x60_eth1_resources[] = {
80 [0] = { 75 [0] = {
@@ -108,9 +103,6 @@ static struct platform_device eth1_device = {
108 .platform_data = &eth1_pd, 103 .platform_data = &eth1_pd,
109 }, 104 },
110}; 105};
111#endif /* CONFIG_MV643XX_ETH_1 */
112
113#ifdef CONFIG_MV643XX_ETH_2
114 106
115static struct resource mv64x60_eth2_resources[] = { 107static struct resource mv64x60_eth2_resources[] = {
116 [0] = { 108 [0] = {
@@ -136,19 +128,12 @@ static struct platform_device eth2_device = {
136 .platform_data = &eth2_pd, 128 .platform_data = &eth2_pd,
137 }, 129 },
138}; 130};
139#endif /* CONFIG_MV643XX_ETH_2 */
140 131
141static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { 132static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
142 &mv643xx_eth_shared_device, 133 &mv643xx_eth_shared_device,
143#ifdef CONFIG_MV643XX_ETH_0
144 &eth0_device, 134 &eth0_device,
145#endif
146#ifdef CONFIG_MV643XX_ETH_1
147 &eth1_device, 135 &eth1_device,
148#endif
149#ifdef CONFIG_MV643XX_ETH_2
150 &eth2_device, 136 &eth2_device,
151#endif
152}; 137};
153 138
154static u8 __init exchange_bit(u8 val, u8 cs) 139static u8 __init exchange_bit(u8 val, u8 cs)
@@ -215,15 +200,9 @@ static int __init mv643xx_eth_add_pds(void)
215 int ret; 200 int ret;
216 201
217 get_mac(mac); 202 get_mac(mac);
218#ifdef CONFIG_MV643XX_ETH_0
219 eth_mac_add(eth1_mac_addr, mac, 0); 203 eth_mac_add(eth1_mac_addr, mac, 0);
220#endif
221#ifdef CONFIG_MV643XX_ETH_1
222 eth_mac_add(eth1_mac_addr, mac, 1); 204 eth_mac_add(eth1_mac_addr, mac, 1);
223#endif
224#ifdef CONFIG_MV643XX_ETH_2
225 eth_mac_add(eth2_mac_addr, mac, 2); 205 eth_mac_add(eth2_mac_addr, mac, 2);
226#endif
227 ret = platform_add_devices(mv643xx_eth_pd_devs, 206 ret = platform_add_devices(mv643xx_eth_pd_devs,
228 ARRAY_SIZE(mv643xx_eth_pd_devs)); 207 ARRAY_SIZE(mv643xx_eth_pd_devs));
229 208
diff --git a/arch/mips/momentum/ocelot_c/platform.c b/arch/mips/momentum/ocelot_c/platform.c
index 6c495b2f1560..8e381d447573 100644
--- a/arch/mips/momentum/ocelot_c/platform.c
+++ b/arch/mips/momentum/ocelot_c/platform.c
@@ -37,8 +37,6 @@ static struct platform_device mv643xx_eth_shared_device = {
37#define MV64x60_IRQ_ETH_0 48 37#define MV64x60_IRQ_ETH_0 48
38#define MV64x60_IRQ_ETH_1 49 38#define MV64x60_IRQ_ETH_1 49
39 39
40#ifdef CONFIG_MV643XX_ETH_0
41
42static struct resource mv64x60_eth0_resources[] = { 40static struct resource mv64x60_eth0_resources[] = {
43 [0] = { 41 [0] = {
44 .name = "eth0 irq", 42 .name = "eth0 irq",
@@ -71,9 +69,6 @@ static struct platform_device eth0_device = {
71 .platform_data = &eth0_pd, 69 .platform_data = &eth0_pd,
72 }, 70 },
73}; 71};
74#endif /* CONFIG_MV643XX_ETH_0 */
75
76#ifdef CONFIG_MV643XX_ETH_1
77 72
78static struct resource mv64x60_eth1_resources[] = { 73static struct resource mv64x60_eth1_resources[] = {
79 [0] = { 74 [0] = {
@@ -107,16 +102,11 @@ static struct platform_device eth1_device = {
107 .platform_data = &eth1_pd, 102 .platform_data = &eth1_pd,
108 }, 103 },
109}; 104};
110#endif /* CONFIG_MV643XX_ETH_1 */
111 105
112static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { 106static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
113 &mv643xx_eth_shared_device, 107 &mv643xx_eth_shared_device,
114#ifdef CONFIG_MV643XX_ETH_0
115 &eth0_device, 108 &eth0_device,
116#endif
117#ifdef CONFIG_MV643XX_ETH_1
118 &eth1_device, 109 &eth1_device,
119#endif
120 /* The third port is not wired up on the Ocelot C */ 110 /* The third port is not wired up on the Ocelot C */
121}; 111};
122 112
@@ -184,12 +174,8 @@ static int __init mv643xx_eth_add_pds(void)
184 int ret; 174 int ret;
185 175
186 get_mac(mac); 176 get_mac(mac);
187#ifdef CONFIG_MV643XX_ETH_0
188 eth_mac_add(eth1_mac_addr, mac, 0); 177 eth_mac_add(eth1_mac_addr, mac, 0);
189#endif
190#ifdef CONFIG_MV643XX_ETH_1
191 eth_mac_add(eth1_mac_addr, mac, 1); 178 eth_mac_add(eth1_mac_addr, mac, 1);
192#endif
193 ret = platform_add_devices(mv643xx_eth_pd_devs, 179 ret = platform_add_devices(mv643xx_eth_pd_devs,
194 ARRAY_SIZE(mv643xx_eth_pd_devs)); 180 ARRAY_SIZE(mv643xx_eth_pd_devs));
195 181
diff --git a/arch/ppc/Kconfig b/arch/ppc/Kconfig
index 0df9c33629fd..ccce2a4a1522 100644
--- a/arch/ppc/Kconfig
+++ b/arch/ppc/Kconfig
@@ -845,6 +845,21 @@ config MV64X60
845 select PPC_INDIRECT_PCI 845 select PPC_INDIRECT_PCI
846 default y 846 default y
847 847
848config MV643XX_ETH_0
849 bool
850 depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360 || HDPU)
851 default y
852
853config MV643XX_ETH_1
854 bool
855 depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360)
856 default y
857
858config MV643XX_ETH_2
859 bool
860 depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360)
861 default y
862
848menu "Set bridge options" 863menu "Set bridge options"
849 depends on MV64X60 864 depends on MV64X60
850 865
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index d9400ef87195..9d5c083f3339 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -2307,27 +2307,6 @@ config MV643XX_ETH
2307 chipset which is used in the Momenco Ocelot C and Jaguar ATX and 2307 chipset which is used in the Momenco Ocelot C and Jaguar ATX and
2308 Pegasos II, amongst other PPC and MIPS boards. 2308 Pegasos II, amongst other PPC and MIPS boards.
2309 2309
2310config MV643XX_ETH_0
2311 bool "MV-643XX Port 0"
2312 depends on MV643XX_ETH
2313 help
2314 This enables support for Port 0 of the Marvell MV643XX Gigabit
2315 Ethernet.
2316
2317config MV643XX_ETH_1
2318 bool "MV-643XX Port 1"
2319 depends on MV643XX_ETH
2320 help
2321 This enables support for Port 1 of the Marvell MV643XX Gigabit
2322 Ethernet.
2323
2324config MV643XX_ETH_2
2325 bool "MV-643XX Port 2"
2326 depends on MV643XX_ETH
2327 help
2328 This enables support for Port 2 of the Marvell MV643XX Gigabit
2329 Ethernet.
2330
2331config QLA3XXX 2310config QLA3XXX
2332 tristate "QLogic QLA3XXX Network Driver Support" 2311 tristate "QLogic QLA3XXX Network Driver Support"
2333 depends on PCI 2312 depends on PCI