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/s2io.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/s2io.c')
-rw-r--r-- | drivers/net/s2io.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index 2eb7f8a0d926..ad5a6a873b29 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -4964,7 +4964,7 @@ static struct net_device_stats *s2io_get_stats(struct net_device *dev) | |||
4964 | static void s2io_set_multicast(struct net_device *dev) | 4964 | static void s2io_set_multicast(struct net_device *dev) |
4965 | { | 4965 | { |
4966 | int i, j, prev_cnt; | 4966 | int i, j, prev_cnt; |
4967 | struct dev_mc_list *mclist; | 4967 | struct netdev_hw_addr *ha; |
4968 | struct s2io_nic *sp = netdev_priv(dev); | 4968 | struct s2io_nic *sp = netdev_priv(dev); |
4969 | struct XENA_dev_config __iomem *bar0 = sp->bar0; | 4969 | struct XENA_dev_config __iomem *bar0 = sp->bar0; |
4970 | u64 val64 = 0, multi_mac = 0x010203040506ULL, mask = | 4970 | u64 val64 = 0, multi_mac = 0x010203040506ULL, mask = |
@@ -5093,12 +5093,12 @@ static void s2io_set_multicast(struct net_device *dev) | |||
5093 | 5093 | ||
5094 | /* Create the new Rx filter list and update the same in H/W. */ | 5094 | /* Create the new Rx filter list and update the same in H/W. */ |
5095 | i = 0; | 5095 | i = 0; |
5096 | netdev_for_each_mc_addr(mclist, dev) { | 5096 | netdev_for_each_mc_addr(ha, dev) { |
5097 | memcpy(sp->usr_addrs[i].addr, mclist->dmi_addr, | 5097 | memcpy(sp->usr_addrs[i].addr, ha->addr, |
5098 | ETH_ALEN); | 5098 | ETH_ALEN); |
5099 | mac_addr = 0; | 5099 | mac_addr = 0; |
5100 | for (j = 0; j < ETH_ALEN; j++) { | 5100 | for (j = 0; j < ETH_ALEN; j++) { |
5101 | mac_addr |= mclist->dmi_addr[j]; | 5101 | mac_addr |= ha->addr[j]; |
5102 | mac_addr <<= 8; | 5102 | mac_addr <<= 8; |
5103 | } | 5103 | } |
5104 | mac_addr >>= 8; | 5104 | mac_addr >>= 8; |