From cae14a6a2ec81bdb53f8f950222a989d96ace1cc Mon Sep 17 00:00:00 2001 From: hauke Date: Sun, 28 Nov 2010 14:08:04 +0000 Subject: brcm47xx: remove support for old kernel versions git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24168 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../brcm47xx/patches-2.6.32/210-b44_phy_fix.patch | 86 ---------------------- 1 file changed, 86 deletions(-) delete mode 100644 target/linux/brcm47xx/patches-2.6.32/210-b44_phy_fix.patch (limited to 'target/linux/brcm47xx/patches-2.6.32/210-b44_phy_fix.patch') diff --git a/target/linux/brcm47xx/patches-2.6.32/210-b44_phy_fix.patch b/target/linux/brcm47xx/patches-2.6.32/210-b44_phy_fix.patch deleted file mode 100644 index 68c954f44..000000000 --- a/target/linux/brcm47xx/patches-2.6.32/210-b44_phy_fix.patch +++ /dev/null @@ -1,86 +0,0 @@ ---- a/drivers/net/b44.c -+++ b/drivers/net/b44.c -@@ -339,7 +339,7 @@ static int b44_phy_reset(struct b44 *bp) - } - } - -- return 0; -+ return err; - } - - static void __b44_set_flow_ctrl(struct b44 *bp, u32 pause_flags) -@@ -384,7 +384,7 @@ static void b44_set_flow_ctrl(struct b44 - __b44_set_flow_ctrl(bp, pause_enab); - } - --#ifdef SSB_DRIVER_MIPS -+#ifdef CONFIG_SSB_DRIVER_MIPS - extern char *nvram_get(char *name); - static void b44_wap54g10_workaround(struct b44 *bp) - { -@@ -421,12 +421,45 @@ static inline void b44_wap54g10_workarou - } - #endif - -+#ifdef CONFIG_SSB_DRIVER_MIPS -+static inline int startswith (const char *source, const char *cmp) -+{ -+ return !strncmp(source,cmp,strlen(cmp)); -+} -+ -+#define getvar(str) (nvram_get(str) ? : "") -+ -+static inline void b44_bcm47xx_workarounds(struct b44 *bp) -+{ -+ /* Toshiba WRC-1000, Siemens SE505 v1, Askey RT-210W, RT-220W */ -+ if (simple_strtoul(getvar("boardnum"), NULL, 0) == 100) { -+ bp->phy_addr = B44_PHY_ADDR_NO_PHY; -+ } else { -+ /* WL-HDD */ -+ struct ssb_device *sdev = bp->sdev; -+ if (startswith(getvar("hardware_version"), "WL300-")) -+ { -+ if (sdev->bus->sprom.et0phyaddr == 0 && -+ sdev->bus->sprom.et1phyaddr == 1) -+ bp->phy_addr = B44_PHY_ADDR_NO_PHY; -+ } -+ } -+ return; -+} -+ -+#else -+static inline void b44_bcm47xx_workarounds(struct b44 *bp) -+{ -+} -+#endif -+ - static int b44_setup_phy(struct b44 *bp) - { - u32 val; - int err; - - b44_wap54g10_workaround(bp); -+ b44_bcm47xx_workarounds(bp); - - if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) - return 0; -@@ -2094,6 +2127,8 @@ static int __devinit b44_get_invariants( - * valid PHY address. */ - bp->phy_addr &= 0x1F; - -+ b44_bcm47xx_workarounds(bp); -+ - memcpy(bp->dev->dev_addr, addr, 6); - - if (!is_valid_ether_addr(&bp->dev->dev_addr[0])){ -@@ -2223,6 +2258,10 @@ static int __devinit b44_init_one(struct - */ - b44_chip_reset(bp, B44_CHIP_RESET_FULL); - -+ /* do a phy reset to test if there is an active phy */ -+ if (b44_phy_reset(bp) < 0) -+ bp->phy_addr = B44_PHY_ADDR_NO_PHY; -+ - printk(KERN_INFO "%s: Broadcom 44xx/47xx 10/100BaseT Ethernet %pM\n", - dev->name, dev->dev_addr); - -- cgit v1.2.3