Update the ixp4xx NPE driver to build with 2.6.23-rc4.

svn path=/dists/trunk/linux-2.6/; revision=9419
This commit is contained in:
Gordon Farquharson 2007-08-30 04:46:09 +00:00
parent 08cdde16c8
commit 6dc2d9fe19
3 changed files with 51 additions and 49 deletions

View File

@ -1,5 +1,5 @@
diff --git a/drivers/net/ixp4xx/mac_driver.c b/drivers/net/ixp4xx/mac_driver.c
index 2ae78e5..2212293 100644
index f393c3c..03ed8fe 100644
--- a/drivers/net/ixp4xx/mac_driver.c
+++ b/drivers/net/ixp4xx/mac_driver.c
@@ -350,6 +350,16 @@ static int ixmac_open (struct net_device *dev)
@ -19,7 +19,7 @@ index 2ae78e5..2212293 100644
mac_set_uniaddr(dev);
media_check(dev, 1);
ixmac_set_rx_mode(dev);
@@ -692,20 +702,6 @@ static int mac_probe(struct platform_device *pdev)
@@ -691,20 +701,6 @@ static int mac_probe(struct platform_device *pdev)
INIT_DELAYED_WORK(&mac->mdio_thread, mac_mdio_thread);

View File

@ -319,10 +319,10 @@ index 0000000..107fbb5
+ return ret;
+}
diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c
index 650eac1..47eb0db 100644
index 4de432e..c4c810b 100644
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
@@ -60,6 +60,7 @@ extern int root_mountflags;
@@ -61,6 +61,7 @@ extern int root_mountflags;
extern void _stext, _text, _etext, __data_start, _edata, _end;
unsigned int processor_id;
@ -331,7 +331,7 @@ index 650eac1..47eb0db 100644
EXPORT_SYMBOL(__machine_arch_type);
diff --git a/arch/arm/mach-ixp4xx/common.c b/arch/arm/mach-ixp4xx/common.c
index 8112f72..5c9afe4 100644
index c1271c4..2ad3984 100644
--- a/arch/arm/mach-ixp4xx/common.c
+++ b/arch/arm/mach-ixp4xx/common.c
@@ -28,6 +28,7 @@
@ -453,7 +453,7 @@ index 8112f72..5c9afe4 100644
printk("IXP4xx: Using %luMiB expansion bus window size\n",
ixp4xx_exp_bus_size >> 20);
}
@@ -486,3 +582,16 @@ static int __init ixp4xx_clockevent_init(void)
@@ -488,3 +584,16 @@ static int __init ixp4xx_clockevent_init(void)
clockevents_register_device(&clockevent_ixp4xx);
return 0;
}
@ -471,63 +471,66 @@ index 8112f72..5c9afe4 100644
+
+EXPORT_SYMBOL(ix_fuse);
diff --git a/arch/arm/mach-ixp4xx/ixdp425-setup.c b/arch/arm/mach-ixp4xx/ixdp425-setup.c
index ec4f079..21818a1 100644
index d5008d8..eb90096 100644
--- a/arch/arm/mach-ixp4xx/ixdp425-setup.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c
@@ -101,10 +101,59 @@ static struct platform_device ixdp425_uart = {
@@ -177,6 +177,52 @@ static struct platform_device ixdp425_uart = {
.resource = ixdp425_uart_resources
};
+/* MACs */
+static struct resource res_mac0 = {
+ .start = IXP4XX_EthB_BASE_PHYS,
+ .end = IXP4XX_EthB_BASE_PHYS + 0x1ff,
+ .flags = IORESOURCE_MEM,
+ .start = IXP4XX_EthB_BASE_PHYS,
+ .end = IXP4XX_EthB_BASE_PHYS + 0x1ff,
+ .flags = IORESOURCE_MEM,
+};
+
+static struct resource res_mac1 = {
+ .start = IXP4XX_EthC_BASE_PHYS,
+ .end = IXP4XX_EthC_BASE_PHYS + 0x1ff,
+ .flags = IORESOURCE_MEM,
+ .start = IXP4XX_EthC_BASE_PHYS,
+ .end = IXP4XX_EthC_BASE_PHYS + 0x1ff,
+ .flags = IORESOURCE_MEM,
+};
+
+static struct mac_plat_info plat_mac0 = {
+ .npe_id = 1,
+ .phy_id = 0,
+ .eth_id = 0,
+ .rxq_id = 27,
+ .txq_id = 24,
+ .rxdoneq_id = 4,
+ .npe_id = 1,
+ .phy_id = 0,
+ .eth_id = 0,
+ .rxq_id = 27,
+ .txq_id = 24,
+ .rxdoneq_id = 4,
+};
+
+static struct mac_plat_info plat_mac1 = {
+ .npe_id = 2,
+ .phy_id = 1,
+ .eth_id = 1,
+ .rxq_id = 28,
+ .txq_id = 25,
+ .rxdoneq_id = 5,
+ .npe_id = 2,
+ .phy_id = 1,
+ .eth_id = 1,
+ .rxq_id = 28,
+ .txq_id = 25,
+ .rxdoneq_id = 5,
+};
+
+static struct platform_device mac0 = {
+ .name = "ixp4xx_mac",
+ .id = 0,
+ .dev.platform_data = &plat_mac0,
+ .num_resources = 1,
+ .resource = &res_mac0,
+ .name = "ixp4xx_mac",
+ .id = 0,
+ .dev.platform_data = &plat_mac0,
+ .num_resources = 1,
+ .resource = &res_mac0,
+};
+
+static struct platform_device mac1 = {
+ .name = "ixp4xx_mac",
+ .id = 1,
+ .dev.platform_data = &plat_mac1,
+ .num_resources = 1,
+ .resource = &res_mac1,
+ .name = "ixp4xx_mac",
+ .id = 1,
+ .dev.platform_data = &plat_mac1,
+ .num_resources = 1,
+ .resource = &res_mac1,
+};
+
static struct platform_device *ixdp425_devices[] __initdata = {
&ixdp425_i2c_controller,
&ixdp425_flash,
@@ -184,7 +230,9 @@ static struct platform_device *ixdp425_devices[] __initdata = {
defined(CONFIG_MTD_NAND_PLATFORM_MODULE)
&ixdp425_flash_nand,
#endif
- &ixdp425_uart
+ &ixdp425_uart,
+ &mac0,
@ -536,23 +539,23 @@ index ec4f079..21818a1 100644
static void __init ixdp425_init(void)
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 7d57f4a..ba1a25e 100644
index 5b9e17b..8a7bee0 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -201,6 +201,8 @@ config MACB
@@ -216,6 +216,8 @@ config MACB
source "drivers/net/arm/Kconfig"
+source "drivers/net/ixp4xx/Kconfig"
+
config MACE
tristate "MACE (Power Mac ethernet) support"
depends on NET_ETHERNET && PPC_PMAC && PPC32
config AX88796
tristate "ASIX AX88796 NE2000 clone support"
depends on ARM || MIPS
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index a77affa..c463574 100644
index e684212..2c77ab7 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -221,6 +221,7 @@ obj-$(CONFIG_HAMRADIO) += hamradio/
@@ -229,6 +229,7 @@ obj-$(CONFIG_HAMRADIO) += hamradio/
obj-$(CONFIG_IRDA) += irda/
obj-$(CONFIG_ETRAX_ETHERNET) += cris/
obj-$(CONFIG_ENP2611_MSF_NET) += ixp2000/
@ -2247,10 +2250,10 @@ index 0000000..b124c24
+
diff --git a/drivers/net/ixp4xx/mac_driver.c b/drivers/net/ixp4xx/mac_driver.c
new file mode 100644
index 0000000..2ae78e5
index 0000000..f393c3c
--- /dev/null
+++ b/drivers/net/ixp4xx/mac_driver.c
@@ -0,0 +1,850 @@
@@ -0,0 +1,849 @@
+/*
+ * mac_driver.c - provide a network interface for each MAC
+ *
@ -2834,7 +2837,6 @@ index 0000000..2ae78e5
+ .set_msglevel = ixmac_set_msglevel,
+ .get_regs_len = ixmac_get_regs_len,
+ .get_regs = ixmac_get_regs,
+ .get_perm_addr = ethtool_op_get_perm_addr,
+ .get_strings = ixmac_get_strings,
+ .get_stats_count = ixmac_get_stats_count,
+ .get_ethtool_stats = ixmac_get_ethtool_stats,

View File

@ -18,8 +18,8 @@
+ bugfix/mips/cobalt-ide-resources.patch
+ bugfix/mips/bcm1480-pci-build-fix.patch
+ bugfix/mips/bcm1480-serial-build-fix.patch
#+ features/arm/ixp4xx-npe-driver-0.3.1.patch
#+ features/arm/ixp4xx-net-driver-improve-mac-handling.patch
+ features/arm/ixp4xx-npe-driver-0.3.1.patch
+ features/arm/ixp4xx-net-driver-improve-mac-handling.patch
+ features/arm/nslu2-i2c-gpio-driver-support.patch
+ features/arm/nas100d-i2c-gpio-driver-support.patch
+ features/arm/nslu2-mac_plat_info.patch