aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tulip/dmfe.c
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2010-04-01 17:22:57 -0400
committerDavid S. Miller <davem@davemloft.net>2010-04-03 17:22:15 -0400
commit22bedad3ce112d5ca1eaf043d4990fa2ed698c87 (patch)
treeb6fba5688d48b1396f01d13ee53610dea7749c15 /drivers/net/tulip/dmfe.c
parenta748ee2426817a95b1f03012d8f339c45c722ae1 (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.c12
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
1455static void dm9132_id_table(struct DEVICE *dev) 1455static 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)
1497static void send_filter_frame(struct DEVICE *dev) 1497static 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];