Commit f00a3ec4 authored by Dale Farnsworth's avatar Dale Farnsworth Committed by Ralf Baechle

[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: default avatarDale Farnsworth <dale@farnsworth.org>
Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
Acked-by: default avatarJeff Garzik <jeff@garzik.org>
Cc: Paul Mackerras <paulus@samba.org>
parent a0be2f79
...@@ -38,8 +38,6 @@ static struct platform_device mv643xx_eth_shared_device = { ...@@ -38,8 +38,6 @@ static struct platform_device mv643xx_eth_shared_device = {
#define MV64x60_IRQ_ETH_1 49 #define MV64x60_IRQ_ETH_1 49
#define MV64x60_IRQ_ETH_2 50 #define MV64x60_IRQ_ETH_2 50
#ifdef CONFIG_MV643XX_ETH_0
static struct resource mv64x60_eth0_resources[] = { static struct resource mv64x60_eth0_resources[] = {
[0] = { [0] = {
.name = "eth0 irq", .name = "eth0 irq",
...@@ -72,9 +70,6 @@ static struct platform_device eth0_device = { ...@@ -72,9 +70,6 @@ static struct platform_device eth0_device = {
.platform_data = &eth0_pd, .platform_data = &eth0_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_0 */
#ifdef CONFIG_MV643XX_ETH_1
static struct resource mv64x60_eth1_resources[] = { static struct resource mv64x60_eth1_resources[] = {
[0] = { [0] = {
...@@ -108,9 +103,6 @@ static struct platform_device eth1_device = { ...@@ -108,9 +103,6 @@ static struct platform_device eth1_device = {
.platform_data = &eth1_pd, .platform_data = &eth1_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_1 */
#ifdef CONFIG_MV643XX_ETH_2
static struct resource mv64x60_eth2_resources[] = { static struct resource mv64x60_eth2_resources[] = {
[0] = { [0] = {
...@@ -136,19 +128,12 @@ static struct platform_device eth2_device = { ...@@ -136,19 +128,12 @@ static struct platform_device eth2_device = {
.platform_data = &eth2_pd, .platform_data = &eth2_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_2 */
static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
&mv643xx_eth_shared_device, &mv643xx_eth_shared_device,
#ifdef CONFIG_MV643XX_ETH_0
&eth0_device, &eth0_device,
#endif
#ifdef CONFIG_MV643XX_ETH_1
&eth1_device, &eth1_device,
#endif
#ifdef CONFIG_MV643XX_ETH_2
&eth2_device, &eth2_device,
#endif
}; };
static u8 __init exchange_bit(u8 val, u8 cs) static u8 __init exchange_bit(u8 val, u8 cs)
...@@ -215,15 +200,9 @@ static int __init mv643xx_eth_add_pds(void) ...@@ -215,15 +200,9 @@ static int __init mv643xx_eth_add_pds(void)
int ret; int ret;
get_mac(mac); get_mac(mac);
#ifdef CONFIG_MV643XX_ETH_0
eth_mac_add(eth1_mac_addr, mac, 0); eth_mac_add(eth1_mac_addr, mac, 0);
#endif
#ifdef CONFIG_MV643XX_ETH_1
eth_mac_add(eth1_mac_addr, mac, 1); eth_mac_add(eth1_mac_addr, mac, 1);
#endif
#ifdef CONFIG_MV643XX_ETH_2
eth_mac_add(eth2_mac_addr, mac, 2); eth_mac_add(eth2_mac_addr, mac, 2);
#endif
ret = platform_add_devices(mv643xx_eth_pd_devs, ret = platform_add_devices(mv643xx_eth_pd_devs,
ARRAY_SIZE(mv643xx_eth_pd_devs)); ARRAY_SIZE(mv643xx_eth_pd_devs));
......
...@@ -38,8 +38,6 @@ static struct platform_device mv643xx_eth_shared_device = { ...@@ -38,8 +38,6 @@ static struct platform_device mv643xx_eth_shared_device = {
#define MV64x60_IRQ_ETH_1 49 #define MV64x60_IRQ_ETH_1 49
#define MV64x60_IRQ_ETH_2 50 #define MV64x60_IRQ_ETH_2 50
#ifdef CONFIG_MV643XX_ETH_0
static struct resource mv64x60_eth0_resources[] = { static struct resource mv64x60_eth0_resources[] = {
[0] = { [0] = {
.name = "eth0 irq", .name = "eth0 irq",
...@@ -72,9 +70,6 @@ static struct platform_device eth0_device = { ...@@ -72,9 +70,6 @@ static struct platform_device eth0_device = {
.platform_data = &eth0_pd, .platform_data = &eth0_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_0 */
#ifdef CONFIG_MV643XX_ETH_1
static struct resource mv64x60_eth1_resources[] = { static struct resource mv64x60_eth1_resources[] = {
[0] = { [0] = {
...@@ -108,9 +103,6 @@ static struct platform_device eth1_device = { ...@@ -108,9 +103,6 @@ static struct platform_device eth1_device = {
.platform_data = &eth1_pd, .platform_data = &eth1_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_1 */
#ifdef CONFIG_MV643XX_ETH_2
static struct resource mv64x60_eth2_resources[] = { static struct resource mv64x60_eth2_resources[] = {
[0] = { [0] = {
...@@ -136,19 +128,12 @@ static struct platform_device eth2_device = { ...@@ -136,19 +128,12 @@ static struct platform_device eth2_device = {
.platform_data = &eth2_pd, .platform_data = &eth2_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_2 */
static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
&mv643xx_eth_shared_device, &mv643xx_eth_shared_device,
#ifdef CONFIG_MV643XX_ETH_0
&eth0_device, &eth0_device,
#endif
#ifdef CONFIG_MV643XX_ETH_1
&eth1_device, &eth1_device,
#endif
#ifdef CONFIG_MV643XX_ETH_2
&eth2_device, &eth2_device,
#endif
}; };
static u8 __init exchange_bit(u8 val, u8 cs) static u8 __init exchange_bit(u8 val, u8 cs)
...@@ -215,15 +200,9 @@ static int __init mv643xx_eth_add_pds(void) ...@@ -215,15 +200,9 @@ static int __init mv643xx_eth_add_pds(void)
int ret; int ret;
get_mac(mac); get_mac(mac);
#ifdef CONFIG_MV643XX_ETH_0
eth_mac_add(eth1_mac_addr, mac, 0); eth_mac_add(eth1_mac_addr, mac, 0);
#endif
#ifdef CONFIG_MV643XX_ETH_1
eth_mac_add(eth1_mac_addr, mac, 1); eth_mac_add(eth1_mac_addr, mac, 1);
#endif
#ifdef CONFIG_MV643XX_ETH_2
eth_mac_add(eth2_mac_addr, mac, 2); eth_mac_add(eth2_mac_addr, mac, 2);
#endif
ret = platform_add_devices(mv643xx_eth_pd_devs, ret = platform_add_devices(mv643xx_eth_pd_devs,
ARRAY_SIZE(mv643xx_eth_pd_devs)); ARRAY_SIZE(mv643xx_eth_pd_devs));
......
...@@ -37,8 +37,6 @@ static struct platform_device mv643xx_eth_shared_device = { ...@@ -37,8 +37,6 @@ static struct platform_device mv643xx_eth_shared_device = {
#define MV64x60_IRQ_ETH_0 48 #define MV64x60_IRQ_ETH_0 48
#define MV64x60_IRQ_ETH_1 49 #define MV64x60_IRQ_ETH_1 49
#ifdef CONFIG_MV643XX_ETH_0
static struct resource mv64x60_eth0_resources[] = { static struct resource mv64x60_eth0_resources[] = {
[0] = { [0] = {
.name = "eth0 irq", .name = "eth0 irq",
...@@ -71,9 +69,6 @@ static struct platform_device eth0_device = { ...@@ -71,9 +69,6 @@ static struct platform_device eth0_device = {
.platform_data = &eth0_pd, .platform_data = &eth0_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_0 */
#ifdef CONFIG_MV643XX_ETH_1
static struct resource mv64x60_eth1_resources[] = { static struct resource mv64x60_eth1_resources[] = {
[0] = { [0] = {
...@@ -107,16 +102,11 @@ static struct platform_device eth1_device = { ...@@ -107,16 +102,11 @@ static struct platform_device eth1_device = {
.platform_data = &eth1_pd, .platform_data = &eth1_pd,
}, },
}; };
#endif /* CONFIG_MV643XX_ETH_1 */
static struct platform_device *mv643xx_eth_pd_devs[] __initdata = { static struct platform_device *mv643xx_eth_pd_devs[] __initdata = {
&mv643xx_eth_shared_device, &mv643xx_eth_shared_device,
#ifdef CONFIG_MV643XX_ETH_0
&eth0_device, &eth0_device,
#endif
#ifdef CONFIG_MV643XX_ETH_1
&eth1_device, &eth1_device,
#endif
/* The third port is not wired up on the Ocelot C */ /* The third port is not wired up on the Ocelot C */
}; };
...@@ -184,12 +174,8 @@ static int __init mv643xx_eth_add_pds(void) ...@@ -184,12 +174,8 @@ static int __init mv643xx_eth_add_pds(void)
int ret; int ret;
get_mac(mac); get_mac(mac);
#ifdef CONFIG_MV643XX_ETH_0
eth_mac_add(eth1_mac_addr, mac, 0); eth_mac_add(eth1_mac_addr, mac, 0);
#endif
#ifdef CONFIG_MV643XX_ETH_1
eth_mac_add(eth1_mac_addr, mac, 1); eth_mac_add(eth1_mac_addr, mac, 1);
#endif
ret = platform_add_devices(mv643xx_eth_pd_devs, ret = platform_add_devices(mv643xx_eth_pd_devs,
ARRAY_SIZE(mv643xx_eth_pd_devs)); ARRAY_SIZE(mv643xx_eth_pd_devs));
......
...@@ -845,6 +845,21 @@ config MV64X60 ...@@ -845,6 +845,21 @@ config MV64X60
select PPC_INDIRECT_PCI select PPC_INDIRECT_PCI
default y default y
config MV643XX_ETH_0
bool
depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360 || HDPU)
default y
config MV643XX_ETH_1
bool
depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360)
default y
config MV643XX_ETH_2
bool
depends on MV643XX_ETH && (KATANA || RADSTONE_PPC7D || EV64360)
default y
menu "Set bridge options" menu "Set bridge options"
depends on MV64X60 depends on MV64X60
......
...@@ -2307,27 +2307,6 @@ config MV643XX_ETH ...@@ -2307,27 +2307,6 @@ config MV643XX_ETH
chipset which is used in the Momenco Ocelot C and Jaguar ATX and chipset which is used in the Momenco Ocelot C and Jaguar ATX and
Pegasos II, amongst other PPC and MIPS boards. Pegasos II, amongst other PPC and MIPS boards.
config MV643XX_ETH_0
bool "MV-643XX Port 0"
depends on MV643XX_ETH
help
This enables support for Port 0 of the Marvell MV643XX Gigabit
Ethernet.
config MV643XX_ETH_1
bool "MV-643XX Port 1"
depends on MV643XX_ETH
help
This enables support for Port 1 of the Marvell MV643XX Gigabit
Ethernet.
config MV643XX_ETH_2
bool "MV-643XX Port 2"
depends on MV643XX_ETH
help
This enables support for Port 2 of the Marvell MV643XX Gigabit
Ethernet.
config QLA3XXX config QLA3XXX
tristate "QLogic QLA3XXX Network Driver Support" tristate "QLogic QLA3XXX Network Driver Support"
depends on PCI depends on PCI
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment