diff options
Diffstat (limited to 'drivers/net/ni52.c')
-rw-r--r-- | drivers/net/ni52.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c index aad3b370c562..f7a8f707361e 100644 --- a/drivers/net/ni52.c +++ b/drivers/net/ni52.c | |||
@@ -109,7 +109,6 @@ static int fifo = 0x8; /* don't change */ | |||
109 | #include <linux/string.h> | 109 | #include <linux/string.h> |
110 | #include <linux/errno.h> | 110 | #include <linux/errno.h> |
111 | #include <linux/ioport.h> | 111 | #include <linux/ioport.h> |
112 | #include <linux/slab.h> | ||
113 | #include <linux/interrupt.h> | 112 | #include <linux/interrupt.h> |
114 | #include <linux/delay.h> | 113 | #include <linux/delay.h> |
115 | #include <linux/init.h> | 114 | #include <linux/init.h> |
@@ -284,7 +283,7 @@ static int ni52_open(struct net_device *dev) | |||
284 | startrecv586(dev); | 283 | startrecv586(dev); |
285 | ni_enaint(); | 284 | ni_enaint(); |
286 | 285 | ||
287 | ret = request_irq(dev->irq, &ni52_interrupt, 0, dev->name, dev); | 286 | ret = request_irq(dev->irq, ni52_interrupt, 0, dev->name, dev); |
288 | if (ret) { | 287 | if (ret) { |
289 | ni_reset586(); | 288 | ni_reset586(); |
290 | return ret; | 289 | return ret; |
@@ -477,8 +476,8 @@ static int __init ni52_probe1(struct net_device *dev, int ioaddr) | |||
477 | for (i = 0; i < ETH_ALEN; i++) | 476 | for (i = 0; i < ETH_ALEN; i++) |
478 | dev->dev_addr[i] = inb(dev->base_addr+i); | 477 | dev->dev_addr[i] = inb(dev->base_addr+i); |
479 | 478 | ||
480 | if (dev->dev_addr[0] != NI52_ADDR0 || dev->dev_addr[1] != NI52_ADDR1 | 479 | if (dev->dev_addr[0] != NI52_ADDR0 || dev->dev_addr[1] != NI52_ADDR1 || |
481 | || dev->dev_addr[2] != NI52_ADDR2) { | 480 | dev->dev_addr[2] != NI52_ADDR2) { |
482 | retval = -ENODEV; | 481 | retval = -ENODEV; |
483 | goto out; | 482 | goto out; |
484 | } | 483 | } |
@@ -596,8 +595,8 @@ static int init586(struct net_device *dev) | |||
596 | struct iasetup_cmd_struct __iomem *ias_cmd; | 595 | struct iasetup_cmd_struct __iomem *ias_cmd; |
597 | struct tdr_cmd_struct __iomem *tdr_cmd; | 596 | struct tdr_cmd_struct __iomem *tdr_cmd; |
598 | struct mcsetup_cmd_struct __iomem *mc_cmd; | 597 | struct mcsetup_cmd_struct __iomem *mc_cmd; |
599 | struct dev_mc_list *dmi = dev->mc_list; | 598 | struct dev_mc_list *dmi; |
600 | int num_addrs = dev->mc_count; | 599 | int num_addrs = netdev_mc_count(dev); |
601 | 600 | ||
602 | ptr = p->scb + 1; | 601 | ptr = p->scb + 1; |
603 | 602 | ||
@@ -724,9 +723,9 @@ static int init586(struct net_device *dev) | |||
724 | writew(0xffff, &mc_cmd->cmd_link); | 723 | writew(0xffff, &mc_cmd->cmd_link); |
725 | writew(num_addrs * 6, &mc_cmd->mc_cnt); | 724 | writew(num_addrs * 6, &mc_cmd->mc_cnt); |
726 | 725 | ||
727 | for (i = 0; i < num_addrs; i++, dmi = dmi->next) | 726 | i = 0; |
728 | memcpy_toio(mc_cmd->mc_list[i], | 727 | netdev_for_each_mc_addr(dmi, dev) |
729 | dmi->dmi_addr, 6); | 728 | memcpy_toio(mc_cmd->mc_list[i++], dmi->dmi_addr, 6); |
730 | 729 | ||
731 | writew(make16(mc_cmd), &p->scb->cbl_offset); | 730 | writew(make16(mc_cmd), &p->scb->cbl_offset); |
732 | writeb(CUC_START, &p->scb->cmd_cuc); | 731 | writeb(CUC_START, &p->scb->cmd_cuc); |