brcm47xx: reorder patches like they were commitet upstream
[openwrt/openwrt.git] / target / linux / brcm47xx / patches-2.6.37 / 210-b44_phy_fix.patch
index 6dda4b413ed03ff241f136e9933cbbbd72ebb01b..ef023c5063219e80f6a00e38d962cc5366209af0 100644 (file)
@@ -1,35 +1,6 @@
 --- a/drivers/net/b44.c
 +++ b/drivers/net/b44.c
-@@ -381,11 +381,12 @@ static void b44_set_flow_ctrl(struct b44
-       __b44_set_flow_ctrl(bp, pause_enab);
- }
--#ifdef SSB_DRIVER_MIPS
--extern char *nvram_get(char *name);
-+#ifdef CONFIG_BCM47XX
-+
-+#include <asm/mach-bcm47xx/nvram.h>
- static void b44_wap54g10_workaround(struct b44 *bp)
- {
--      const char *str;
-+      char buf[20];
-       u32 val;
-       int err;
-@@ -394,10 +395,9 @@ static void b44_wap54g10_workaround(stru
-        * see https://dev.openwrt.org/ticket/146
-        * check and reset bit "isolate"
-        */
--      str = nvram_get("boardnum");
--      if (!str)
-+      if (nvram_getenv("boardnum", buf, sizeof(buf)) > 0)
-               return;
--      if (simple_strtoul(str, NULL, 0) == 2) {
-+      if (simple_strtoul(buf, NULL, 0) == 2) {
-               err = __b44_readphy(bp, 0, MII_BMCR, &val);
-               if (err)
-                       goto error;
-@@ -412,10 +412,43 @@ static void b44_wap54g10_workaround(stru
+@@ -411,10 +411,41 @@ static void b44_wap54g10_workaround(stru
  error:
        pr_warning("PHY: cannot reset MII transceiver isolate bit\n");
  }
@@ -60,9 +31,7 @@
 +      }
 +      return;
 +}
-+
  #else
-+
  static inline void b44_wap54g10_workaround(struct b44 *bp)
  {
  }
@@ -73,7 +42,7 @@
  #endif
  
  static int b44_setup_phy(struct b44 *bp)
-@@ -424,6 +457,7 @@ static int b44_setup_phy(struct b44 *bp)
+@@ -423,6 +454,7 @@ static int b44_setup_phy(struct b44 *bp)
        int err;
  
        b44_wap54g10_workaround(bp);
@@ -81,7 +50,7 @@
  
        if (bp->phy_addr == B44_PHY_ADDR_NO_PHY)
                return 0;
-@@ -2089,6 +2123,8 @@ static int __devinit b44_get_invariants(
+@@ -2088,6 +2120,8 @@ static int __devinit b44_get_invariants(
         * valid PHY address. */
        bp->phy_addr &= 0x1F;