aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ni52.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ni52.c')
-rw-r--r--drivers/net/ni52.c43
1 files changed, 18 insertions, 25 deletions
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c
index b9a882d362da..a8bcc00c3302 100644
--- a/drivers/net/ni52.c
+++ b/drivers/net/ni52.c
@@ -9,8 +9,6 @@
9 * [feel free to mail ....] 9 * [feel free to mail ....]
10 * 10 *
11 * when using as module: (no autoprobing!) 11 * when using as module: (no autoprobing!)
12 * compile with:
13 * gcc -O2 -fomit-frame-pointer -m486 -D__KERNEL__ -DMODULE -c ni52.c
14 * run with e.g: 12 * run with e.g:
15 * insmod ni52.o io=0x360 irq=9 memstart=0xd0000 memend=0xd4000 13 * insmod ni52.o io=0x360 irq=9 memstart=0xd0000 memend=0xd4000
16 * 14 *
@@ -214,7 +212,7 @@ struct priv {
214/* wait for command with timeout: */ 212/* wait for command with timeout: */
215static void wait_for_scb_cmd(struct net_device *dev) 213static void wait_for_scb_cmd(struct net_device *dev)
216{ 214{
217 struct priv *p = dev->priv; 215 struct priv *p = netdev_priv(dev);
218 int i; 216 int i;
219 for (i = 0; i < 16384; i++) { 217 for (i = 0; i < 16384; i++) {
220 if (readb(&p->scb->cmd_cuc) == 0) 218 if (readb(&p->scb->cmd_cuc) == 0)
@@ -233,7 +231,7 @@ static void wait_for_scb_cmd(struct net_device *dev)
233 231
234static void wait_for_scb_cmd_ruc(struct net_device *dev) 232static void wait_for_scb_cmd_ruc(struct net_device *dev)
235{ 233{
236 struct priv *p = dev->priv; 234 struct priv *p = netdev_priv(dev);
237 int i; 235 int i;
238 for (i = 0; i < 16384; i++) { 236 for (i = 0; i < 16384; i++) {
239 if (readb(&p->scb->cmd_ruc) == 0) 237 if (readb(&p->scb->cmd_ruc) == 0)
@@ -298,7 +296,7 @@ static int ni52_open(struct net_device *dev)
298static int check_iscp(struct net_device *dev, void __iomem *addr) 296static int check_iscp(struct net_device *dev, void __iomem *addr)
299{ 297{
300 struct iscp_struct __iomem *iscp = addr; 298 struct iscp_struct __iomem *iscp = addr;
301 struct priv *p = dev->priv; 299 struct priv *p = netdev_priv(dev);
302 memset_io(iscp, 0, sizeof(struct iscp_struct)); 300 memset_io(iscp, 0, sizeof(struct iscp_struct));
303 301
304 writel(make24(iscp), &p->scp->iscp); 302 writel(make24(iscp), &p->scp->iscp);
@@ -318,7 +316,7 @@ static int check_iscp(struct net_device *dev, void __iomem *addr)
318 */ 316 */
319static int check586(struct net_device *dev, unsigned size) 317static int check586(struct net_device *dev, unsigned size)
320{ 318{
321 struct priv *p = dev->priv; 319 struct priv *p = netdev_priv(dev);
322 int i; 320 int i;
323 321
324 p->mapped = ioremap(dev->mem_start, size); 322 p->mapped = ioremap(dev->mem_start, size);
@@ -354,7 +352,7 @@ Enodev:
354 */ 352 */
355static void alloc586(struct net_device *dev) 353static void alloc586(struct net_device *dev)
356{ 354{
357 struct priv *p = (struct priv *) dev->priv; 355 struct priv *p = netdev_priv(dev);
358 356
359 ni_reset586(); 357 ni_reset586();
360 mdelay(32); 358 mdelay(32);
@@ -400,7 +398,7 @@ struct net_device * __init ni52_probe(int unit)
400 if (!dev) 398 if (!dev)
401 return ERR_PTR(-ENOMEM); 399 return ERR_PTR(-ENOMEM);
402 400
403 p = dev->priv; 401 p = netdev_priv(dev);
404 402
405 if (unit >= 0) { 403 if (unit >= 0) {
406 sprintf(dev->name, "eth%d", unit); 404 sprintf(dev->name, "eth%d", unit);
@@ -446,7 +444,7 @@ out:
446static int __init ni52_probe1(struct net_device *dev, int ioaddr) 444static int __init ni52_probe1(struct net_device *dev, int ioaddr)
447{ 445{
448 int i, size, retval; 446 int i, size, retval;
449 struct priv *priv = dev->priv; 447 struct priv *priv = netdev_priv(dev);
450 448
451 dev->base_addr = ioaddr; 449 dev->base_addr = ioaddr;
452 dev->irq = irq; 450 dev->irq = irq;
@@ -588,7 +586,7 @@ static int init586(struct net_device *dev)
588{ 586{
589 void __iomem *ptr; 587 void __iomem *ptr;
590 int i, result = 0; 588 int i, result = 0;
591 struct priv *p = (struct priv *)dev->priv; 589 struct priv *p = netdev_priv(dev);
592 struct configure_cmd_struct __iomem *cfg_cmd; 590 struct configure_cmd_struct __iomem *cfg_cmd;
593 struct iasetup_cmd_struct __iomem *ias_cmd; 591 struct iasetup_cmd_struct __iomem *ias_cmd;
594 struct tdr_cmd_struct __iomem *tdr_cmd; 592 struct tdr_cmd_struct __iomem *tdr_cmd;
@@ -829,7 +827,7 @@ static void __iomem *alloc_rfa(struct net_device *dev, void __iomem *ptr)
829 struct rfd_struct __iomem *rfd = ptr; 827 struct rfd_struct __iomem *rfd = ptr;
830 struct rbd_struct __iomem *rbd; 828 struct rbd_struct __iomem *rbd;
831 int i; 829 int i;
832 struct priv *p = (struct priv *) dev->priv; 830 struct priv *p = netdev_priv(dev);
833 831
834 memset_io(rfd, 0, 832 memset_io(rfd, 0,
835 sizeof(struct rfd_struct) * (p->num_recv_buffs + rfdadd)); 833 sizeof(struct rfd_struct) * (p->num_recv_buffs + rfdadd));
@@ -878,7 +876,7 @@ static irqreturn_t ni52_interrupt(int irq, void *dev_id)
878 int cnt = 0; 876 int cnt = 0;
879 struct priv *p; 877 struct priv *p;
880 878
881 p = (struct priv *) dev->priv; 879 p = netdev_priv(dev);
882 880
883 if (debuglevel > 1) 881 if (debuglevel > 1)
884 printk("I"); 882 printk("I");
@@ -950,7 +948,7 @@ static void ni52_rcv_int(struct net_device *dev)
950 unsigned short totlen; 948 unsigned short totlen;
951 struct sk_buff *skb; 949 struct sk_buff *skb;
952 struct rbd_struct __iomem *rbd; 950 struct rbd_struct __iomem *rbd;
953 struct priv *p = (struct priv *)dev->priv; 951 struct priv *p = netdev_priv(dev);
954 952
955 if (debuglevel > 0) 953 if (debuglevel > 0)
956 printk("R"); 954 printk("R");
@@ -970,7 +968,6 @@ static void ni52_rcv_int(struct net_device *dev)
970 memcpy_fromio(skb->data, p->base + readl(&rbd->buffer), totlen); 968 memcpy_fromio(skb->data, p->base + readl(&rbd->buffer), totlen);
971 skb->protocol = eth_type_trans(skb, dev); 969 skb->protocol = eth_type_trans(skb, dev);
972 netif_rx(skb); 970 netif_rx(skb);
973 dev->last_rx = jiffies;
974 p->stats.rx_packets++; 971 p->stats.rx_packets++;
975 p->stats.rx_bytes += totlen; 972 p->stats.rx_bytes += totlen;
976 } else 973 } else
@@ -1040,7 +1037,7 @@ static void ni52_rcv_int(struct net_device *dev)
1040 1037
1041static void ni52_rnr_int(struct net_device *dev) 1038static void ni52_rnr_int(struct net_device *dev)
1042{ 1039{
1043 struct priv *p = (struct priv *) dev->priv; 1040 struct priv *p = netdev_priv(dev);
1044 1041
1045 p->stats.rx_errors++; 1042 p->stats.rx_errors++;
1046 1043
@@ -1065,7 +1062,7 @@ static void ni52_rnr_int(struct net_device *dev)
1065static void ni52_xmt_int(struct net_device *dev) 1062static void ni52_xmt_int(struct net_device *dev)
1066{ 1063{
1067 int status; 1064 int status;
1068 struct priv *p = (struct priv *) dev->priv; 1065 struct priv *p = netdev_priv(dev);
1069 1066
1070 if (debuglevel > 0) 1067 if (debuglevel > 0)
1071 printk("X"); 1068 printk("X");
@@ -1113,7 +1110,7 @@ static void ni52_xmt_int(struct net_device *dev)
1113 1110
1114static void startrecv586(struct net_device *dev) 1111static void startrecv586(struct net_device *dev)
1115{ 1112{
1116 struct priv *p = (struct priv *) dev->priv; 1113 struct priv *p = netdev_priv(dev);
1117 1114
1118 wait_for_scb_cmd(dev); 1115 wait_for_scb_cmd(dev);
1119 wait_for_scb_cmd_ruc(dev); 1116 wait_for_scb_cmd_ruc(dev);
@@ -1126,7 +1123,7 @@ static void startrecv586(struct net_device *dev)
1126 1123
1127static void ni52_timeout(struct net_device *dev) 1124static void ni52_timeout(struct net_device *dev)
1128{ 1125{
1129 struct priv *p = (struct priv *) dev->priv; 1126 struct priv *p = netdev_priv(dev);
1130#ifndef NO_NOPCOMMANDS 1127#ifndef NO_NOPCOMMANDS
1131 if (readb(&p->scb->cus) & CU_ACTIVE) { /* COMMAND-UNIT active? */ 1128 if (readb(&p->scb->cus) & CU_ACTIVE) { /* COMMAND-UNIT active? */
1132 netif_wake_queue(dev); 1129 netif_wake_queue(dev);
@@ -1177,7 +1174,7 @@ static int ni52_send_packet(struct sk_buff *skb, struct net_device *dev)
1177#ifndef NO_NOPCOMMANDS 1174#ifndef NO_NOPCOMMANDS
1178 int next_nop; 1175 int next_nop;
1179#endif 1176#endif
1180 struct priv *p = (struct priv *) dev->priv; 1177 struct priv *p = netdev_priv(dev);
1181 1178
1182 if (skb->len > XMIT_BUFF_SIZE) { 1179 if (skb->len > XMIT_BUFF_SIZE) {
1183 printk(KERN_ERR "%s: Sorry, max. framelength is %d bytes. The length of your frame is %d bytes.\n", dev->name, XMIT_BUFF_SIZE, skb->len); 1180 printk(KERN_ERR "%s: Sorry, max. framelength is %d bytes. The length of your frame is %d bytes.\n", dev->name, XMIT_BUFF_SIZE, skb->len);
@@ -1274,7 +1271,7 @@ static int ni52_send_packet(struct sk_buff *skb, struct net_device *dev)
1274 1271
1275static struct net_device_stats *ni52_get_stats(struct net_device *dev) 1272static struct net_device_stats *ni52_get_stats(struct net_device *dev)
1276{ 1273{
1277 struct priv *p = (struct priv *) dev->priv; 1274 struct priv *p = netdev_priv(dev);
1278 unsigned short crc, aln, rsc, ovrn; 1275 unsigned short crc, aln, rsc, ovrn;
1279 1276
1280 /* Get error-statistics from the ni82586 */ 1277 /* Get error-statistics from the ni82586 */
@@ -1337,7 +1334,7 @@ int __init init_module(void)
1337 1334
1338void __exit cleanup_module(void) 1335void __exit cleanup_module(void)
1339{ 1336{
1340 struct priv *p = dev_ni52->priv; 1337 struct priv *p = netdev_priv(dev_ni52);
1341 unregister_netdev(dev_ni52); 1338 unregister_netdev(dev_ni52);
1342 iounmap(p->mapped); 1339 iounmap(p->mapped);
1343 release_region(dev_ni52->base_addr, NI52_TOTAL_SIZE); 1340 release_region(dev_ni52->base_addr, NI52_TOTAL_SIZE);
@@ -1346,7 +1343,3 @@ void __exit cleanup_module(void)
1346#endif /* MODULE */ 1343#endif /* MODULE */
1347 1344
1348MODULE_LICENSE("GPL"); 1345MODULE_LICENSE("GPL");
1349
1350/*
1351 * END: linux/drivers/net/ni52.c
1352 */