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/tulip/dmfe.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/tulip/dmfe.c')
-rw-r--r-- | drivers/net/tulip/dmfe.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c index 95b38d803e9b..a039c8ab98b2 100644 --- a/drivers/net/tulip/dmfe.c +++ b/drivers/net/tulip/dmfe.c | |||
@@ -1454,7 +1454,7 @@ static void update_cr6(u32 cr6_data, unsigned long ioaddr) | |||
1454 | 1454 | ||
1455 | static void dm9132_id_table(struct DEVICE *dev) | 1455 | static void dm9132_id_table(struct DEVICE *dev) |
1456 | { | 1456 | { |
1457 | struct dev_mc_list *mcptr; | 1457 | struct netdev_hw_addr *ha; |
1458 | u16 * addrptr; | 1458 | u16 * addrptr; |
1459 | unsigned long ioaddr = dev->base_addr+0xc0; /* ID Table */ | 1459 | unsigned long ioaddr = dev->base_addr+0xc0; /* ID Table */ |
1460 | u32 hash_val; | 1460 | u32 hash_val; |
@@ -1478,8 +1478,8 @@ static void dm9132_id_table(struct DEVICE *dev) | |||
1478 | hash_table[3] = 0x8000; | 1478 | hash_table[3] = 0x8000; |
1479 | 1479 | ||
1480 | /* the multicast address in Hash Table : 64 bits */ | 1480 | /* the multicast address in Hash Table : 64 bits */ |
1481 | netdev_for_each_mc_addr(mcptr, dev) { | 1481 | netdev_for_each_mc_addr(ha, dev) { |
1482 | hash_val = cal_CRC((char *) mcptr->dmi_addr, 6, 0) & 0x3f; | 1482 | hash_val = cal_CRC((char *) ha->addr, 6, 0) & 0x3f; |
1483 | hash_table[hash_val / 16] |= (u16) 1 << (hash_val % 16); | 1483 | hash_table[hash_val / 16] |= (u16) 1 << (hash_val % 16); |
1484 | } | 1484 | } |
1485 | 1485 | ||
@@ -1497,7 +1497,7 @@ static void dm9132_id_table(struct DEVICE *dev) | |||
1497 | static void send_filter_frame(struct DEVICE *dev) | 1497 | static void send_filter_frame(struct DEVICE *dev) |
1498 | { | 1498 | { |
1499 | struct dmfe_board_info *db = netdev_priv(dev); | 1499 | struct dmfe_board_info *db = netdev_priv(dev); |
1500 | struct dev_mc_list *mcptr; | 1500 | struct netdev_hw_addr *ha; |
1501 | struct tx_desc *txptr; | 1501 | struct tx_desc *txptr; |
1502 | u16 * addrptr; | 1502 | u16 * addrptr; |
1503 | u32 * suptr; | 1503 | u32 * suptr; |
@@ -1520,8 +1520,8 @@ static void send_filter_frame(struct DEVICE *dev) | |||
1520 | *suptr++ = 0xffff; | 1520 | *suptr++ = 0xffff; |
1521 | 1521 | ||
1522 | /* fit the multicast address */ | 1522 | /* fit the multicast address */ |
1523 | netdev_for_each_mc_addr(mcptr, dev) { | 1523 | netdev_for_each_mc_addr(ha, dev) { |
1524 | addrptr = (u16 *) mcptr->dmi_addr; | 1524 | addrptr = (u16 *) ha->addr; |
1525 | *suptr++ = addrptr[0]; | 1525 | *suptr++ = addrptr[0]; |
1526 | *suptr++ = addrptr[1]; | 1526 | *suptr++ = addrptr[1]; |
1527 | *suptr++ = addrptr[2]; | 1527 | *suptr++ = addrptr[2]; |