Changeset 38044


Ignore:
Timestamp:
2013-09-18T18:49:52+02:00 (4 years ago)
Author:
hauke
Message:

brcm47xx: b44: bgmac: some small changes to the phylib patches

Signed-off-by: Hauke Mehrtens <hauke@…>

Location:
trunk/target/linux/brcm47xx/patches-3.10
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm47xx/patches-3.10/770-bgmac-phylib.patch

    r38038 r38044  
    3636-               return -EOPNOTSUPP; 
    3737-       } 
    38 +       if (!netif_running(net_dev)) 
    39 +               return -EINVAL; 
     38+       if (!netif_running(net_dev)) 
     39+               return -EINVAL; 
    4040+ 
    4141+       if (!bgmac->phydev) 
     
    4646  
    4747 static const struct net_device_ops bgmac_netdev_ops = { 
    48 @@ -1271,61 +1258,18 @@ static int bgmac_get_settings(struct net 
     48@@ -1271,61 +1258,16 @@ static int bgmac_get_settings(struct net 
    4949 { 
    5050        struct bgmac *bgmac = netdev_priv(net_dev); 
     
    9898  
    9999-#if 0 
    100 + 
    101100 static int bgmac_set_settings(struct net_device *net_dev, 
    102101                              struct ethtool_cmd *cmd) 
     
    108107 } 
    109108-#endif 
    110 + 
    111109  
    112110 static void bgmac_get_drvinfo(struct net_device *net_dev, 
    113111                              struct ethtool_drvinfo *info) 
    114 @@ -1336,6 +1280,7 @@ static void bgmac_get_drvinfo(struct net 
     112@@ -1336,6 +1278,7 @@ static void bgmac_get_drvinfo(struct net 
    115113  
    116114 static const struct ethtool_ops bgmac_ethtool_ops = { 
     
    120118 }; 
    121119  
    122 @@ -1354,10 +1299,42 @@ static int bgmac_mii_write(struct mii_bu 
     120@@ -1354,10 +1297,36 @@ static int bgmac_mii_write(struct mii_bu 
    123121        return bgmac_phy_write(bus->priv, mii_id, regnum, value); 
    124122 } 
     
    128126+       struct bgmac *bgmac = netdev_priv(dev); 
    129127+       struct phy_device *phydev = bgmac->phydev; 
    130 +       int status_changed = 0; 
     128+       bool status_changed = 0; 
    131129+ 
    132130+       BUG_ON(!phydev); 
     
    143141+       } 
    144142+ 
    145 +       if (status_changed) { 
    146 +               pr_info("%s: link %s", dev->name, phydev->link ? 
    147 +                       "UP" : "DOWN"); 
    148 +               if (phydev->link) 
    149 +                       pr_cont(" - %d/%s", phydev->speed, 
    150 +                       phydev->duplex == DUPLEX_FULL ? "full" : "half"); 
    151 +               pr_cont("\n"); 
    152 +       } 
     143+       if (status_changed) 
     144+               phy_print_status(phydev); 
    153145+} 
    154146+ 
     
    163155        mii_bus = mdiobus_alloc(); 
    164156        if (!mii_bus) 
    165 @@ -1388,7 +1365,29 @@ static int bgmac_mii_register(struct bgm 
     157@@ -1388,7 +1357,28 @@ static int bgmac_mii_register(struct bgm 
    166158  
    167159        bgmac->mii_bus = mii_bus; 
     
    176168+ 
    177169+       if (IS_ERR(phydev)) { 
    178 +               netdev_err(net_dev, "could not attach PHY: %s", phy_id); 
     170+               netdev_err(net_dev, "could not attach PHY: %s\n", phy_id); 
    179171+               bgmac->phyaddr = BGMAC_PHY_NOREGS; 
    180172+               return PTR_ERR(phydev); 
     
    186178+       bgmac->phyaddr = phydev->addr; 
    187179+ 
    188 +       netdev_info(net_dev, "attached PHY driver [%s] " 
    189 +               "(mii_bus:phy_addr=%s)\n", 
    190 +               phydev->drv->name, dev_name(&phydev->dev)); 
     180+       netdev_info(net_dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s)\n", 
     181+                   phydev->drv->name, dev_name(&phydev->dev)); 
    191182+ 
    192183+       return 0; 
  • trunk/target/linux/brcm47xx/patches-3.10/780-b44-phylib.patch

    r38038 r38044  
    156156  
    157157 static void b44_get_ringparam(struct net_device *dev, 
    158 @@ -2102,20 +2027,81 @@ static const struct ethtool_ops b44_etht 
     158@@ -2102,20 +2027,74 @@ static const struct ethtool_ops b44_etht 
    159159  
    160160 static int b44_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) 
     
    182182+       struct b44 *bp = netdev_priv(dev); 
    183183+       struct phy_device *phydev = bp->phydev; 
    184 +       int status_changed = 0; 
     184+       bool status_changed = 0; 
    185185+ 
    186186+       BUG_ON(!phydev); 
     
    197197+       } 
    198198+ 
    199 +       if (status_changed) { 
    200 +               pr_info("%s: link %s", dev->name, phydev->link ? 
    201 +                       "UP" : "DOWN"); 
    202 +               if (phydev->link) 
    203 +                       pr_cont(" - %d/%s", phydev->speed, 
    204 +                       phydev->duplex == DUPLEX_FULL ? "full" : "half"); 
    205 +               pr_cont("\n"); 
    206 +       } 
     199+       if (status_changed) 
     200+               phy_print_status(phydev); 
    207201+} 
    208202+ 
     
    220214+                            PHY_INTERFACE_MODE_MII); 
    221215+       if (IS_ERR(phydev)) { 
    222 +               netdev_err(dev, "could not attach PHY: %s", phy_id); 
     216+               netdev_err(dev, "could not attach PHY: %s\n", phy_id); 
    223217+               bp->phy_addr = B44_PHY_ADDR_NO_PHY; 
    224218+               return PTR_ERR(phydev); 
     
    230224+       bp->phy_addr = phydev->addr; 
    231225+ 
    232 +       netdev_info(dev, "attached PHY driver [%s] " 
    233 +               "(mii_bus:phy_addr=%s)\n", 
    234 +               phydev->drv->name, dev_name(&phydev->dev)); 
     226+       netdev_info(dev, "attached PHY driver [%s] (mii_bus:phy_addr=%s)\n", 
     227+                   phydev->drv->name, dev_name(&phydev->dev)); 
    235228+ 
    236229+       return 0; 
     
    240233 { 
    241234        struct ssb_device *sdev = bp->sdev; 
    242 @@ -2235,12 +2221,38 @@ static int b44_init_one(struct ssb_devic 
     235@@ -2235,12 +2214,40 @@ static int b44_init_one(struct ssb_devic 
    243236                goto err_out_powerdown; 
    244237        } 
     
    261254+       bp->mii_bus->write = b44_mii_write; 
    262255+       bp->mii_bus->name = "b44_eth_mii"; 
     256+       bp->mii_bus->parent = sdev->dev; 
     257+       bp->mii_bus->phy_mask = ~(1 << bp->phy_addr); 
    263258+       snprintf(bp->mii_bus->id, MII_BUS_ID_SIZE, "%x", instance); 
    264259+       bp->mii_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL); 
     
    285280        /* By default, advertise all speed/duplex settings. */ 
    286281        bp->flags |= (B44_FLAG_ADV_10HALF | B44_FLAG_ADV_10FULL | 
    287 @@ -2272,6 +2284,16 @@ static int b44_init_one(struct ssb_devic 
     282@@ -2272,6 +2279,16 @@ static int b44_init_one(struct ssb_devic 
    288283  
    289284        return 0; 
     
    302297        ssb_bus_may_powerdown(sdev->bus); 
    303298  
    304 @@ -2285,8 +2307,12 @@ out: 
     299@@ -2285,8 +2302,12 @@ out: 
    305300 static void b44_remove_one(struct ssb_device *sdev) 
    306301 { 
Note: See TracChangeset for help on using the changeset viewer.