.. | .. |
---|
40 | 40 | #include "b44.h" |
---|
41 | 41 | |
---|
42 | 42 | #define DRV_MODULE_NAME "b44" |
---|
43 | | -#define DRV_MODULE_VERSION "2.0" |
---|
44 | 43 | #define DRV_DESCRIPTION "Broadcom 44xx/47xx 10/100 PCI ethernet driver" |
---|
45 | 44 | |
---|
46 | 45 | #define B44_DEF_MSG_ENABLE \ |
---|
.. | .. |
---|
97 | 96 | MODULE_AUTHOR("Felix Fietkau, Florian Schirmer, Pekka Pietikainen, David S. Miller"); |
---|
98 | 97 | MODULE_DESCRIPTION(DRV_DESCRIPTION); |
---|
99 | 98 | MODULE_LICENSE("GPL"); |
---|
100 | | -MODULE_VERSION(DRV_MODULE_VERSION); |
---|
101 | 99 | |
---|
102 | 100 | static int b44_debug = -1; /* -1 == use B44_DEF_MSG_ENABLE as value */ |
---|
103 | 101 | module_param(b44_debug, int, 0); |
---|
.. | .. |
---|
511 | 509 | *val++ += br32(bp, reg); |
---|
512 | 510 | } |
---|
513 | 511 | |
---|
514 | | - /* Pad */ |
---|
515 | | - reg += 8*4UL; |
---|
516 | | - |
---|
517 | 512 | for (reg = B44_RX_GOOD_O; reg <= B44_RX_NPAUSE; reg += 4UL) { |
---|
518 | 513 | *val++ += br32(bp, reg); |
---|
519 | 514 | } |
---|
.. | .. |
---|
638 | 633 | bytes_compl += skb->len; |
---|
639 | 634 | pkts_compl++; |
---|
640 | 635 | |
---|
641 | | - dev_kfree_skb_irq(skb); |
---|
| 636 | + dev_consume_skb_irq(skb); |
---|
642 | 637 | } |
---|
643 | 638 | |
---|
644 | 639 | netdev_completed_queue(bp->dev, pkts_compl, bytes_compl); |
---|
.. | .. |
---|
951 | 946 | return IRQ_RETVAL(handled); |
---|
952 | 947 | } |
---|
953 | 948 | |
---|
954 | | -static void b44_tx_timeout(struct net_device *dev) |
---|
| 949 | +static void b44_tx_timeout(struct net_device *dev, unsigned int txqueue) |
---|
955 | 950 | { |
---|
956 | 951 | struct b44 *bp = netdev_priv(dev); |
---|
957 | 952 | |
---|
.. | .. |
---|
1012 | 1007 | } |
---|
1013 | 1008 | |
---|
1014 | 1009 | skb_copy_from_linear_data(skb, skb_put(bounce_skb, len), len); |
---|
1015 | | - dev_kfree_skb_any(skb); |
---|
| 1010 | + dev_consume_skb_any(skb); |
---|
1016 | 1011 | skb = bounce_skb; |
---|
1017 | 1012 | } |
---|
1018 | 1013 | |
---|
.. | .. |
---|
1794 | 1789 | struct ssb_bus *bus = bp->sdev->bus; |
---|
1795 | 1790 | |
---|
1796 | 1791 | strlcpy(info->driver, DRV_MODULE_NAME, sizeof(info->driver)); |
---|
1797 | | - strlcpy(info->version, DRV_MODULE_VERSION, sizeof(info->version)); |
---|
1798 | 1792 | switch (bus->bustype) { |
---|
1799 | 1793 | case SSB_BUSTYPE_PCI: |
---|
1800 | 1794 | strlcpy(info->bus_info, pci_name(bus->host_pci), sizeof(info->bus_info)); |
---|
.. | .. |
---|
2216 | 2210 | { |
---|
2217 | 2211 | struct b44 *bp = netdev_priv(dev); |
---|
2218 | 2212 | struct phy_device *phydev = dev->phydev; |
---|
2219 | | - bool status_changed = 0; |
---|
| 2213 | + bool status_changed = false; |
---|
2220 | 2214 | |
---|
2221 | 2215 | BUG_ON(!phydev); |
---|
2222 | 2216 | |
---|
2223 | 2217 | if (bp->old_link != phydev->link) { |
---|
2224 | | - status_changed = 1; |
---|
| 2218 | + status_changed = true; |
---|
2225 | 2219 | bp->old_link = phydev->link; |
---|
2226 | 2220 | } |
---|
2227 | 2221 | |
---|
.. | .. |
---|
2229 | 2223 | if (phydev->link) { |
---|
2230 | 2224 | if ((phydev->duplex == DUPLEX_HALF) && |
---|
2231 | 2225 | (bp->flags & B44_FLAG_FULL_DUPLEX)) { |
---|
2232 | | - status_changed = 1; |
---|
| 2226 | + status_changed = true; |
---|
2233 | 2227 | bp->flags &= ~B44_FLAG_FULL_DUPLEX; |
---|
2234 | 2228 | } else if ((phydev->duplex == DUPLEX_FULL) && |
---|
2235 | 2229 | !(bp->flags & B44_FLAG_FULL_DUPLEX)) { |
---|
2236 | | - status_changed = 1; |
---|
| 2230 | + status_changed = true; |
---|
2237 | 2231 | bp->flags |= B44_FLAG_FULL_DUPLEX; |
---|
2238 | 2232 | } |
---|
2239 | 2233 | } |
---|
.. | .. |
---|
2251 | 2245 | |
---|
2252 | 2246 | static int b44_register_phy_one(struct b44 *bp) |
---|
2253 | 2247 | { |
---|
| 2248 | + __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, }; |
---|
2254 | 2249 | struct mii_bus *mii_bus; |
---|
2255 | 2250 | struct ssb_device *sdev = bp->sdev; |
---|
2256 | 2251 | struct phy_device *phydev; |
---|
.. | .. |
---|
2306 | 2301 | } |
---|
2307 | 2302 | |
---|
2308 | 2303 | /* mask with MAC supported features */ |
---|
2309 | | - phydev->supported &= (SUPPORTED_100baseT_Half | |
---|
2310 | | - SUPPORTED_100baseT_Full | |
---|
2311 | | - SUPPORTED_Autoneg | |
---|
2312 | | - SUPPORTED_MII); |
---|
2313 | | - phydev->advertising = phydev->supported; |
---|
| 2304 | + linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Half_BIT, mask); |
---|
| 2305 | + linkmode_set_bit(ETHTOOL_LINK_MODE_100baseT_Full_BIT, mask); |
---|
| 2306 | + linkmode_set_bit(ETHTOOL_LINK_MODE_Autoneg_BIT, mask); |
---|
| 2307 | + linkmode_set_bit(ETHTOOL_LINK_MODE_MII_BIT, mask); |
---|
| 2308 | + linkmode_and(phydev->supported, phydev->supported, mask); |
---|
| 2309 | + linkmode_copy(phydev->advertising, phydev->supported); |
---|
2314 | 2310 | |
---|
2315 | 2311 | bp->old_link = 0; |
---|
2316 | 2312 | bp->phy_addr = phydev->mdio.addr; |
---|
.. | .. |
---|
2347 | 2343 | int err; |
---|
2348 | 2344 | |
---|
2349 | 2345 | instance++; |
---|
2350 | | - |
---|
2351 | | - pr_info_once("%s version %s\n", DRV_DESCRIPTION, DRV_MODULE_VERSION); |
---|
2352 | 2346 | |
---|
2353 | 2347 | dev = alloc_etherdev(sizeof(*bp)); |
---|
2354 | 2348 | if (!dev) { |
---|