diff options
Diffstat (limited to 'drivers/net/ni52.c')
-rw-r--r-- | drivers/net/ni52.c | 43 |
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: */ |
215 | static void wait_for_scb_cmd(struct net_device *dev) | 213 | static 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 | ||
234 | static void wait_for_scb_cmd_ruc(struct net_device *dev) | 232 | static 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) | |||
298 | static int check_iscp(struct net_device *dev, void __iomem *addr) | 296 | static 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 | */ |
319 | static int check586(struct net_device *dev, unsigned size) | 317 | static 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 | */ |
355 | static void alloc586(struct net_device *dev) | 353 | static 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: | |||
446 | static int __init ni52_probe1(struct net_device *dev, int ioaddr) | 444 | static 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 | ||
1041 | static void ni52_rnr_int(struct net_device *dev) | 1038 | static 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) | |||
1065 | static void ni52_xmt_int(struct net_device *dev) | 1062 | static 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 | ||
1114 | static void startrecv586(struct net_device *dev) | 1111 | static 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 | ||
1127 | static void ni52_timeout(struct net_device *dev) | 1124 | static 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 | ||
1275 | static struct net_device_stats *ni52_get_stats(struct net_device *dev) | 1272 | static 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 | ||
1338 | void __exit cleanup_module(void) | 1335 | void __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 | ||
1348 | MODULE_LICENSE("GPL"); | 1345 | MODULE_LICENSE("GPL"); |
1349 | |||
1350 | /* | ||
1351 | * END: linux/drivers/net/ni52.c | ||
1352 | */ | ||