aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/skge.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/skge.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/skge.c')
-rw-r--r--drivers/net/skge.c12
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