From 6dc2d9fe19959e9e5044fcfd4683d53dfcaf4756 Mon Sep 17 00:00:00 2001 From: Gordon Farquharson Date: Thu, 30 Aug 2007 04:46:09 +0000 Subject: [PATCH] Update the ixp4xx NPE driver to build with 2.6.23-rc4. svn path=/dists/trunk/linux-2.6/; revision=9419 --- ...p4xx-net-driver-improve-mac-handling.patch | 4 +- .../arm/ixp4xx-npe-driver-0.3.1.patch | 92 ++++++++++--------- debian/patches/series/1~experimental.1 | 4 +- 3 files changed, 51 insertions(+), 49 deletions(-) diff --git a/debian/patches/features/arm/ixp4xx-net-driver-improve-mac-handling.patch b/debian/patches/features/arm/ixp4xx-net-driver-improve-mac-handling.patch index 8e41ecf47..c15f7ad6e 100644 --- a/debian/patches/features/arm/ixp4xx-net-driver-improve-mac-handling.patch +++ b/debian/patches/features/arm/ixp4xx-net-driver-improve-mac-handling.patch @@ -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); diff --git a/debian/patches/features/arm/ixp4xx-npe-driver-0.3.1.patch b/debian/patches/features/arm/ixp4xx-npe-driver-0.3.1.patch index 165043cf0..5940dd95f 100644 --- a/debian/patches/features/arm/ixp4xx-npe-driver-0.3.1.patch +++ b/debian/patches/features/arm/ixp4xx-npe-driver-0.3.1.patch @@ -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, diff --git a/debian/patches/series/1~experimental.1 b/debian/patches/series/1~experimental.1 index c765efb7a..63f4904ec 100644 --- a/debian/patches/series/1~experimental.1 +++ b/debian/patches/series/1~experimental.1 @@ -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