diff options
author | Dale Farnsworth <dale@farnsworth.org> | 2007-02-20 07:15:20 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2007-02-20 12:11:55 -0500 |
commit | f00a3ec4d47b51c5995fe10f8252a90aca331e62 (patch) | |
tree | a66ca09ec8611e637344acd6e410b4f6207b243a | |
parent | a0be2f7999aaff97962fe4240ab2ca12a394884c (diff) |
[NET] Eliminate user-selectable CONFIG_MV643XX_ETH_[012]
Remove the use of CONFIG_MV643XX_ETH_[012] variables on most platforms.
Instead, platform-specific code enables the ports supported by the
hardware. After this patch, these config variables are only used in
arch/ppc, so also move them from drivers/net/Kconfig to arch/ppc/Kconfig.
Signed-off-by: Dale Farnsworth <dale@farnsworth.org>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Jeff Garzik <jeff@garzik.org>
Cc: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/mips/momentum/jaguar_atx/platform.c | 21 | ||||
-rw-r--r-- | arch/mips/momentum/ocelot_3/platform.c | 21 | ||||
-rw-r--r-- | arch/mips/momentum/ocelot_c/platform.c | 14 | ||||
-rw-r--r-- | arch/ppc/Kconfig | 15 | ||||
-rw-r--r-- | drivers/net/Kconfig | 21 |
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 | |||
43 | static struct resource mv64x60_eth0_resources[] = { | 41 | static 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 = ð0_pd, | 70 | .platform_data = ð0_pd, |
73 | }, | 71 | }, |
74 | }; | 72 | }; |
75 | #endif /* CONFIG_MV643XX_ETH_0 */ | ||
76 | |||
77 | #ifdef CONFIG_MV643XX_ETH_1 | ||
78 | 73 | ||
79 | static struct resource mv64x60_eth1_resources[] = { | 74 | static struct resource mv64x60_eth1_resources[] = { |
80 | [0] = { | 75 | [0] = { |
@@ -108,9 +103,6 @@ static struct platform_device eth1_device = { | |||
108 | .platform_data = ð1_pd, | 103 | .platform_data = ð1_pd, |
109 | }, | 104 | }, |
110 | }; | 105 | }; |
111 | #endif /* CONFIG_MV643XX_ETH_1 */ | ||
112 | |||
113 | #ifdef CONFIG_MV643XX_ETH_2 | ||
114 | 106 | ||
115 | static struct resource mv64x60_eth2_resources[] = { | 107 | static struct resource mv64x60_eth2_resources[] = { |
116 | [0] = { | 108 | [0] = { |
@@ -136,19 +128,12 @@ static struct platform_device eth2_device = { | |||
136 | .platform_data = ð2_pd, | 128 | .platform_data = ð2_pd, |
137 | }, | 129 | }, |
138 | }; | 130 | }; |
139 | #endif /* CONFIG_MV643XX_ETH_2 */ | ||
140 | 131 | ||
141 | static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { | 132 | static 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 | ð0_device, | 134 | ð0_device, |
145 | #endif | ||
146 | #ifdef CONFIG_MV643XX_ETH_1 | ||
147 | ð1_device, | 135 | ð1_device, |
148 | #endif | ||
149 | #ifdef CONFIG_MV643XX_ETH_2 | ||
150 | ð2_device, | 136 | ð2_device, |
151 | #endif | ||
152 | }; | 137 | }; |
153 | 138 | ||
154 | static u8 __init exchange_bit(u8 val, u8 cs) | 139 | static 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 | |||
43 | static struct resource mv64x60_eth0_resources[] = { | 41 | static 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 = ð0_pd, | 70 | .platform_data = ð0_pd, |
73 | }, | 71 | }, |
74 | }; | 72 | }; |
75 | #endif /* CONFIG_MV643XX_ETH_0 */ | ||
76 | |||
77 | #ifdef CONFIG_MV643XX_ETH_1 | ||
78 | 73 | ||
79 | static struct resource mv64x60_eth1_resources[] = { | 74 | static struct resource mv64x60_eth1_resources[] = { |
80 | [0] = { | 75 | [0] = { |
@@ -108,9 +103,6 @@ static struct platform_device eth1_device = { | |||
108 | .platform_data = ð1_pd, | 103 | .platform_data = ð1_pd, |
109 | }, | 104 | }, |
110 | }; | 105 | }; |
111 | #endif /* CONFIG_MV643XX_ETH_1 */ | ||
112 | |||
113 | #ifdef CONFIG_MV643XX_ETH_2 | ||
114 | 106 | ||
115 | static struct resource mv64x60_eth2_resources[] = { | 107 | static struct resource mv64x60_eth2_resources[] = { |
116 | [0] = { | 108 | [0] = { |
@@ -136,19 +128,12 @@ static struct platform_device eth2_device = { | |||
136 | .platform_data = ð2_pd, | 128 | .platform_data = ð2_pd, |
137 | }, | 129 | }, |
138 | }; | 130 | }; |
139 | #endif /* CONFIG_MV643XX_ETH_2 */ | ||
140 | 131 | ||
141 | static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { | 132 | static 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 | ð0_device, | 134 | ð0_device, |
145 | #endif | ||
146 | #ifdef CONFIG_MV643XX_ETH_1 | ||
147 | ð1_device, | 135 | ð1_device, |
148 | #endif | ||
149 | #ifdef CONFIG_MV643XX_ETH_2 | ||
150 | ð2_device, | 136 | ð2_device, |
151 | #endif | ||
152 | }; | 137 | }; |
153 | 138 | ||
154 | static u8 __init exchange_bit(u8 val, u8 cs) | 139 | static 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 | |||
42 | static struct resource mv64x60_eth0_resources[] = { | 40 | static 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 = ð0_pd, | 69 | .platform_data = ð0_pd, |
72 | }, | 70 | }, |
73 | }; | 71 | }; |
74 | #endif /* CONFIG_MV643XX_ETH_0 */ | ||
75 | |||
76 | #ifdef CONFIG_MV643XX_ETH_1 | ||
77 | 72 | ||
78 | static struct resource mv64x60_eth1_resources[] = { | 73 | static struct resource mv64x60_eth1_resources[] = { |
79 | [0] = { | 74 | [0] = { |
@@ -107,16 +102,11 @@ static struct platform_device eth1_device = { | |||
107 | .platform_data = ð1_pd, | 102 | .platform_data = ð1_pd, |
108 | }, | 103 | }, |
109 | }; | 104 | }; |
110 | #endif /* CONFIG_MV643XX_ETH_1 */ | ||
111 | 105 | ||
112 | static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { | 106 | static 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 | ð0_device, | 108 | ð0_device, |
116 | #endif | ||
117 | #ifdef CONFIG_MV643XX_ETH_1 | ||
118 | ð1_device, | 109 | ð1_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 | ||
848 | config MV643XX_ETH_0 | ||
849 | bool | ||
850 | depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360 || HDPU) | ||
851 | default y | ||
852 | |||
853 | config MV643XX_ETH_1 | ||
854 | bool | ||
855 | depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360) | ||
856 | default y | ||
857 | |||
858 | config MV643XX_ETH_2 | ||
859 | bool | ||
860 | depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360) | ||
861 | default y | ||
862 | |||
848 | menu "Set bridge options" | 863 | menu "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 | ||
2310 | config 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 | |||
2317 | config 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 | |||
2324 | config 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 | |||
2331 | config QLA3XXX | 2310 | config QLA3XXX |
2332 | tristate "QLogic QLA3XXX Network Driver Support" | 2311 | tristate "QLogic QLA3XXX Network Driver Support" |
2333 | depends on PCI | 2312 | depends on PCI |