diff mbox

[4/4] stmmac: convert unicast addr list to list_head

Message ID 1259836805-7512-4-git-send-email-peppe.cavallaro@st.com
State RFC, archived
Delegated to: David Miller
Headers show

Commit Message

Giuseppe CAVALLARO Dec. 3, 2009, 10:40 a.m. UTC
This patch converts unicast address list to standard list_head using
previously introduced struct netdev_hw_addr.
---
 drivers/net/stmmac/dwmac1000_core.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)
diff mbox

Patch

diff --git a/drivers/net/stmmac/dwmac1000_core.c b/drivers/net/stmmac/dwmac1000_core.c
index 3752e1e..e109bea 100644
--- a/drivers/net/stmmac/dwmac1000_core.c
+++ b/drivers/net/stmmac/dwmac1000_core.c
@@ -83,7 +83,7 @@  static void gmac_set_filter(struct net_device *dev)
 	unsigned int value = 0;
 
 	DBG(KERN_INFO "%s: # mcasts %d, # unicast %d\n",
-	    __func__, dev->mc_count, dev->uc_count);
+	    __func__, dev->mc_count, dev->uc.count);
 
 	if (dev->flags & IFF_PROMISC)
 		value = GMAC_FRAME_FILTER_PR;
@@ -117,17 +117,16 @@  static void gmac_set_filter(struct net_device *dev)
 	}
 
 	/* Handle multiple unicast addresses (perfect filtering)*/
-	if (dev->uc_count > GMAC_MAX_UNICAST_ADDRESSES)
+	if (dev->uc.count > GMAC_MAX_UNICAST_ADDRESSES)
 		/* Switch to promiscuous mode is more than 16 addrs
 		   are required */
 		value |= GMAC_FRAME_FILTER_PR;
 	else {
-		int i;
-		struct dev_addr_list *uc_ptr = dev->uc_list;
+		int i = 0;
+		struct netdev_hw_addr *ha;
 
-			for (i = 0; i < dev->uc_count; i++) {
-				gmac_set_umac_addr(ioaddr, uc_ptr->da_addr,
-						i + 1);
+			list_for_each_entry(ha, &dev->uc.list, list) {
+				gmac_set_umac_addr(ioaddr, ha->addr, i + 1);
 
 				DBG(KERN_INFO "\t%d "
 				"- Unicast addr %02x:%02x:%02x:%02x:%02x:"
@@ -135,7 +134,8 @@  static void gmac_set_filter(struct net_device *dev)
 				uc_ptr->da_addr[0], uc_ptr->da_addr[1],
 				uc_ptr->da_addr[2], uc_ptr->da_addr[3],
 				uc_ptr->da_addr[4], uc_ptr->da_addr[5]);
-				uc_ptr = uc_ptr->next;
+
+				i++;
 		}
 	}