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/bcm63xx_enet.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/bcm63xx_enet.c')
-rw-r--r-- | drivers/net/bcm63xx_enet.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/bcm63xx_enet.c b/drivers/net/bcm63xx_enet.c index 37eb8021de1c..51733404478e 100644 --- a/drivers/net/bcm63xx_enet.c +++ b/drivers/net/bcm63xx_enet.c | |||
@@ -603,7 +603,7 @@ static int bcm_enet_set_mac_address(struct net_device *dev, void *p) | |||
603 | static void bcm_enet_set_multicast_list(struct net_device *dev) | 603 | static void bcm_enet_set_multicast_list(struct net_device *dev) |
604 | { | 604 | { |
605 | struct bcm_enet_priv *priv; | 605 | struct bcm_enet_priv *priv; |
606 | struct dev_mc_list *mc_list; | 606 | struct netdev_hw_addr *ha; |
607 | u32 val; | 607 | u32 val; |
608 | int i; | 608 | int i; |
609 | 609 | ||
@@ -631,14 +631,14 @@ static void bcm_enet_set_multicast_list(struct net_device *dev) | |||
631 | } | 631 | } |
632 | 632 | ||
633 | i = 0; | 633 | i = 0; |
634 | netdev_for_each_mc_addr(mc_list, dev) { | 634 | netdev_for_each_mc_addr(ha, dev) { |
635 | u8 *dmi_addr; | 635 | u8 *dmi_addr; |
636 | u32 tmp; | 636 | u32 tmp; |
637 | 637 | ||
638 | if (i == 3) | 638 | if (i == 3) |
639 | break; | 639 | break; |
640 | /* update perfect match registers */ | 640 | /* update perfect match registers */ |
641 | dmi_addr = mc_list->dmi_addr; | 641 | dmi_addr = ha->addr; |
642 | tmp = (dmi_addr[2] << 24) | (dmi_addr[3] << 16) | | 642 | tmp = (dmi_addr[2] << 24) | (dmi_addr[3] << 16) | |
643 | (dmi_addr[4] << 8) | dmi_addr[5]; | 643 | (dmi_addr[4] << 8) | dmi_addr[5]; |
644 | enet_writel(priv, tmp, ENET_PML_REG(i + 1)); | 644 | enet_writel(priv, tmp, ENET_PML_REG(i + 1)); |