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/skge.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/skge.c')
-rw-r--r-- | drivers/net/skge.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index bd8c5e8413b1..de5ef3877baf 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -2917,7 +2917,7 @@ static void genesis_set_multicast(struct net_device *dev) | |||
2917 | struct skge_port *skge = netdev_priv(dev); | 2917 | struct skge_port *skge = netdev_priv(dev); |
2918 | struct skge_hw *hw = skge->hw; | 2918 | struct skge_hw *hw = skge->hw; |
2919 | int port = skge->port; | 2919 | int port = skge->port; |
2920 | struct dev_mc_list *list; | 2920 | struct netdev_hw_addr *ha; |
2921 | u32 mode; | 2921 | u32 mode; |
2922 | u8 filter[8]; | 2922 | u8 filter[8]; |
2923 | 2923 | ||
@@ -2937,8 +2937,8 @@ static void genesis_set_multicast(struct net_device *dev) | |||
2937 | skge->flow_status == FLOW_STAT_SYMMETRIC) | 2937 | skge->flow_status == FLOW_STAT_SYMMETRIC) |
2938 | genesis_add_filter(filter, pause_mc_addr); | 2938 | genesis_add_filter(filter, pause_mc_addr); |
2939 | 2939 | ||
2940 | netdev_for_each_mc_addr(list, dev) | 2940 | netdev_for_each_mc_addr(ha, dev) |
2941 | genesis_add_filter(filter, list->dmi_addr); | 2941 | genesis_add_filter(filter, ha->addr); |
2942 | } | 2942 | } |
2943 | 2943 | ||
2944 | xm_write32(hw, port, XM_MODE, mode); | 2944 | xm_write32(hw, port, XM_MODE, mode); |
@@ -2956,7 +2956,7 @@ static void yukon_set_multicast(struct net_device *dev) | |||
2956 | struct skge_port *skge = netdev_priv(dev); | 2956 | struct skge_port *skge = netdev_priv(dev); |
2957 | struct skge_hw *hw = skge->hw; | 2957 | struct skge_hw *hw = skge->hw; |
2958 | int port = skge->port; | 2958 | int port = skge->port; |
2959 | struct dev_mc_list *list; | 2959 | struct netdev_hw_addr *ha; |
2960 | int rx_pause = (skge->flow_status == FLOW_STAT_REM_SEND || | 2960 | int rx_pause = (skge->flow_status == FLOW_STAT_REM_SEND || |
2961 | skge->flow_status == FLOW_STAT_SYMMETRIC); | 2961 | skge->flow_status == FLOW_STAT_SYMMETRIC); |
2962 | u16 reg; | 2962 | u16 reg; |
@@ -2979,8 +2979,8 @@ static void yukon_set_multicast(struct net_device *dev) | |||
2979 | if (rx_pause) | 2979 | if (rx_pause) |
2980 | yukon_add_filter(filter, pause_mc_addr); | 2980 | yukon_add_filter(filter, pause_mc_addr); |
2981 | 2981 | ||
2982 | netdev_for_each_mc_addr(list, dev) | 2982 | netdev_for_each_mc_addr(ha, dev) |
2983 | yukon_add_filter(filter, list->dmi_addr); | 2983 | yukon_add_filter(filter, ha->addr); |
2984 | } | 2984 | } |
2985 | 2985 | ||
2986 | 2986 | ||