diff options
author | Jiri Pirko <jpirko@redhat.com> | 2010-04-01 17:22:57 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-04-03 17:22:15 -0400 |
commit | 22bedad3ce112d5ca1eaf043d4990fa2ed698c87 (patch) | |
tree | b6fba5688d48b1396f01d13ee53610dea7749c15 /drivers/net/usb/smsc95xx.c | |
parent | a748ee2426817a95b1f03012d8f339c45c722ae1 (diff) |
net: convert multicast list to list_head
Converts the list and the core manipulating with it to be the same as uc_list.
+uses two functions for adding/removing mc address (normal and "global"
variant) instead of a function parameter.
+removes dev_mcast.c completely.
+exposes netdev_hw_addr_list_* macros along with __hw_addr_* functions for
manipulation with lists on a sandbox (used in bonding and 80211 drivers)
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/usb/smsc95xx.c')
-rw-r--r-- | drivers/net/usb/smsc95xx.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 73f9a31cf94d..ccd55ca3a06a 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c | |||
@@ -384,13 +384,13 @@ static void smsc95xx_set_multicast(struct net_device *netdev) | |||
384 | pdata->mac_cr |= MAC_CR_MCPAS_; | 384 | pdata->mac_cr |= MAC_CR_MCPAS_; |
385 | pdata->mac_cr &= ~(MAC_CR_PRMS_ | MAC_CR_HPFILT_); | 385 | pdata->mac_cr &= ~(MAC_CR_PRMS_ | MAC_CR_HPFILT_); |
386 | } else if (!netdev_mc_empty(dev->net)) { | 386 | } else if (!netdev_mc_empty(dev->net)) { |
387 | struct dev_mc_list *mc_list; | 387 | struct netdev_hw_addr *ha; |
388 | 388 | ||
389 | pdata->mac_cr |= MAC_CR_HPFILT_; | 389 | pdata->mac_cr |= MAC_CR_HPFILT_; |
390 | pdata->mac_cr &= ~(MAC_CR_PRMS_ | MAC_CR_MCPAS_); | 390 | pdata->mac_cr &= ~(MAC_CR_PRMS_ | MAC_CR_MCPAS_); |
391 | 391 | ||
392 | netdev_for_each_mc_addr(mc_list, netdev) { | 392 | netdev_for_each_mc_addr(ha, netdev) { |
393 | u32 bitnum = smsc95xx_hash(mc_list->dmi_addr); | 393 | u32 bitnum = smsc95xx_hash(ha->addr); |
394 | u32 mask = 0x01 << (bitnum & 0x1F); | 394 | u32 mask = 0x01 << (bitnum & 0x1F); |
395 | if (bitnum & 0x20) | 395 | if (bitnum & 0x20) |
396 | hash_hi |= mask; | 396 | hash_hi |= mask; |