aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/bmac.c
diff options
context:
space:
mode:
authorAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
committerAndrea Bastoni <bastoni@cs.unc.edu>2010-05-30 19:16:45 -0400
commitada47b5fe13d89735805b566185f4885f5a3f750 (patch)
tree644b88f8a71896307d71438e9b3af49126ffb22b /drivers/net/bmac.c
parent43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff)
parent3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff)
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/net/bmac.c')
-rw-r--r--drivers/net/bmac.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/net/bmac.c b/drivers/net/bmac.c
index 406f06424251..598b007f1991 100644
--- a/drivers/net/bmac.c
+++ b/drivers/net/bmac.c
@@ -20,6 +20,7 @@
20#include <linux/crc32.h> 20#include <linux/crc32.h>
21#include <linux/bitrev.h> 21#include <linux/bitrev.h>
22#include <linux/ethtool.h> 22#include <linux/ethtool.h>
23#include <linux/slab.h>
23#include <asm/prom.h> 24#include <asm/prom.h>
24#include <asm/dbdma.h> 25#include <asm/dbdma.h>
25#include <asm/io.h> 26#include <asm/io.h>
@@ -438,8 +439,8 @@ bmac_init_phy(struct net_device *dev)
438 439
439 ctrl = bmac_mif_read(dev, 0); 440 ctrl = bmac_mif_read(dev, 0);
440 capable = ((bmac_mif_read(dev, 1) & 0xf800) >> 6) | 1; 441 capable = ((bmac_mif_read(dev, 1) & 0xf800) >> 6) | 1;
441 if (bmac_mif_read(dev, 4) != capable 442 if (bmac_mif_read(dev, 4) != capable ||
442 || (ctrl & 0x1000) == 0) { 443 (ctrl & 0x1000) == 0) {
443 bmac_mif_write(dev, 4, capable); 444 bmac_mif_write(dev, 4, capable);
444 bmac_mif_write(dev, 0, 0x1200); 445 bmac_mif_write(dev, 0, 0x1200);
445 } else 446 } else
@@ -973,7 +974,7 @@ static void bmac_set_multicast(struct net_device *dev)
973{ 974{
974 struct dev_mc_list *dmi; 975 struct dev_mc_list *dmi;
975 struct bmac_data *bp = netdev_priv(dev); 976 struct bmac_data *bp = netdev_priv(dev);
976 int num_addrs = dev->mc_count; 977 int num_addrs = netdev_mc_count(dev);
977 unsigned short rx_cfg; 978 unsigned short rx_cfg;
978 int i; 979 int i;
979 980
@@ -982,7 +983,7 @@ static void bmac_set_multicast(struct net_device *dev)
982 983
983 XXDEBUG(("bmac: enter bmac_set_multicast, n_addrs=%d\n", num_addrs)); 984 XXDEBUG(("bmac: enter bmac_set_multicast, n_addrs=%d\n", num_addrs));
984 985
985 if((dev->flags & IFF_ALLMULTI) || (dev->mc_count > 64)) { 986 if((dev->flags & IFF_ALLMULTI) || (netdev_mc_count(dev) > 64)) {
986 for (i=0; i<4; i++) bp->hash_table_mask[i] = 0xffff; 987 for (i=0; i<4; i++) bp->hash_table_mask[i] = 0xffff;
987 bmac_update_hash_table_mask(dev, bp); 988 bmac_update_hash_table_mask(dev, bp);
988 rx_cfg = bmac_rx_on(dev, 1, 0); 989 rx_cfg = bmac_rx_on(dev, 1, 0);
@@ -1000,7 +1001,7 @@ static void bmac_set_multicast(struct net_device *dev)
1000 rx_cfg = bmac_rx_on(dev, 0, 0); 1001 rx_cfg = bmac_rx_on(dev, 0, 0);
1001 XXDEBUG(("bmac: multi disabled, rx_cfg=%#08x\n", rx_cfg)); 1002 XXDEBUG(("bmac: multi disabled, rx_cfg=%#08x\n", rx_cfg));
1002 } else { 1003 } else {
1003 for (dmi=dev->mc_list; dmi!=NULL; dmi=dmi->next) 1004 netdev_for_each_mc_addr(dmi, dev)
1004 bmac_addhash(bp, dmi->dmi_addr); 1005 bmac_addhash(bp, dmi->dmi_addr);
1005 bmac_update_hash_table_mask(dev, bp); 1006 bmac_update_hash_table_mask(dev, bp);
1006 rx_cfg = bmac_rx_on(dev, 1, 0); 1007 rx_cfg = bmac_rx_on(dev, 1, 0);
@@ -1015,13 +1016,13 @@ static void bmac_set_multicast(struct net_device *dev)
1015 1016
1016static void bmac_set_multicast(struct net_device *dev) 1017static void bmac_set_multicast(struct net_device *dev)
1017{ 1018{
1018 struct dev_mc_list *dmi = dev->mc_list; 1019 struct dev_mc_list *dmi;
1019 char *addrs; 1020 char *addrs;
1020 int i; 1021 int i;
1021 unsigned short rx_cfg; 1022 unsigned short rx_cfg;
1022 u32 crc; 1023 u32 crc;
1023 1024
1024 if((dev->flags & IFF_ALLMULTI) || (dev->mc_count > 64)) { 1025 if((dev->flags & IFF_ALLMULTI) || (netdev_mc_count(dev) > 64)) {
1025 bmwrite(dev, BHASH0, 0xffff); 1026 bmwrite(dev, BHASH0, 0xffff);
1026 bmwrite(dev, BHASH1, 0xffff); 1027 bmwrite(dev, BHASH1, 0xffff);
1027 bmwrite(dev, BHASH2, 0xffff); 1028 bmwrite(dev, BHASH2, 0xffff);
@@ -1039,9 +1040,8 @@ static void bmac_set_multicast(struct net_device *dev)
1039 1040
1040 for(i = 0; i < 4; i++) hash_table[i] = 0; 1041 for(i = 0; i < 4; i++) hash_table[i] = 0;
1041 1042
1042 for(i = 0; i < dev->mc_count; i++) { 1043 netdev_for_each_mc_addr(dmi, dev) {
1043 addrs = dmi->dmi_addr; 1044 addrs = dmi->dmi_addr;
1044 dmi = dmi->next;
1045 1045
1046 if(!(*addrs & 1)) 1046 if(!(*addrs & 1))
1047 continue; 1047 continue;