aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ll_temac_main.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/ll_temac_main.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/ll_temac_main.c')
-rw-r--r--drivers/net/ll_temac_main.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/net/ll_temac_main.c b/drivers/net/ll_temac_main.c
index a18e3485476..30474d6b15c 100644
--- a/drivers/net/ll_temac_main.c
+++ b/drivers/net/ll_temac_main.c
@@ -250,20 +250,20 @@ static void temac_set_multicast_list(struct net_device *ndev)
250 temac_indirect_out32(lp, XTE_AFM_OFFSET, XTE_AFM_EPPRM_MASK); 250 temac_indirect_out32(lp, XTE_AFM_OFFSET, XTE_AFM_EPPRM_MASK);
251 dev_info(&ndev->dev, "Promiscuous mode enabled.\n"); 251 dev_info(&ndev->dev, "Promiscuous mode enabled.\n");
252 } else if (!netdev_mc_empty(ndev)) { 252 } else if (!netdev_mc_empty(ndev)) {
253 struct dev_mc_list *mclist; 253 struct netdev_hw_addr *ha;
254 254
255 i = 0; 255 i = 0;
256 netdev_for_each_mc_addr(mclist, ndev) { 256 netdev_for_each_mc_addr(ha, ndev) {
257 if (i >= MULTICAST_CAM_TABLE_NUM) 257 if (i >= MULTICAST_CAM_TABLE_NUM)
258 break; 258 break;
259 multi_addr_msw = ((mclist->dmi_addr[3] << 24) | 259 multi_addr_msw = ((ha->addr[3] << 24) |
260 (mclist->dmi_addr[2] << 16) | 260 (ha->addr[2] << 16) |
261 (mclist->dmi_addr[1] << 8) | 261 (ha->addr[1] << 8) |
262 (mclist->dmi_addr[0])); 262 (ha->addr[0]));
263 temac_indirect_out32(lp, XTE_MAW0_OFFSET, 263 temac_indirect_out32(lp, XTE_MAW0_OFFSET,
264 multi_addr_msw); 264 multi_addr_msw);
265 multi_addr_lsw = ((mclist->dmi_addr[5] << 8) | 265 multi_addr_lsw = ((ha->addr[5] << 8) |
266 (mclist->dmi_addr[4]) | (i << 16)); 266 (ha->addr[4]) | (i << 16));
267 temac_indirect_out32(lp, XTE_MAW1_OFFSET, 267 temac_indirect_out32(lp, XTE_MAW1_OFFSET,
268 multi_addr_lsw); 268 multi_addr_lsw);
269 i++; 269 i++;