Lines Matching refs:dev

46 static int arcrimi_probe(struct net_device *dev);
47 static int arcrimi_found(struct net_device *dev);
48 static void arcrimi_command(struct net_device *dev, int command);
49 static int arcrimi_status(struct net_device *dev);
50 static void arcrimi_setmask(struct net_device *dev, int mask);
51 static int arcrimi_reset(struct net_device *dev, int really_reset);
52 static void arcrimi_copy_to_card(struct net_device *dev, int bufnum, int offset,
54 static void arcrimi_copy_from_card(struct net_device *dev, int bufnum,
67 static int __init arcrimi_probe(struct net_device *dev) in arcrimi_probe() argument
73 dev->dev_addr[0], dev->mem_start, dev->irq); in arcrimi_probe()
76 if (dev->mem_start <= 0 || dev->irq <= 0) { in arcrimi_probe()
81 if (dev->dev_addr[0] == 0) { in arcrimi_probe()
91 if (!request_mem_region(dev->mem_start, MIRROR_SIZE, "arcnet (90xx)")) { in arcrimi_probe()
96 return arcrimi_found(dev); in arcrimi_probe()
123 static int __init arcrimi_found(struct net_device *dev) in arcrimi_found() argument
131 p = ioremap(dev->mem_start, MIRROR_SIZE); in arcrimi_found()
133 release_mem_region(dev->mem_start, MIRROR_SIZE); in arcrimi_found()
134 arc_printk(D_NORMAL, dev, "Can't ioremap\n"); in arcrimi_found()
139 if (request_irq(dev->irq, arcnet_interrupt, 0, "arcnet (RIM I)", dev)) { in arcrimi_found()
141 release_mem_region(dev->mem_start, MIRROR_SIZE); in arcrimi_found()
142 arc_printk(D_NORMAL, dev, "Can't get IRQ %d!\n", dev->irq); in arcrimi_found()
146 shmem = dev->mem_start; in arcrimi_found()
173 dev->mem_start = first_mirror; in arcrimi_found()
174 dev->mem_end = last_mirror + MIRROR_SIZE - 1; in arcrimi_found()
178 lp = netdev_priv(dev); in arcrimi_found()
195 if (!request_mem_region(dev->mem_start, in arcrimi_found()
196 dev->mem_end - dev->mem_start + 1, in arcrimi_found()
198 arc_printk(D_NORMAL, dev, "Card memory already allocated\n"); in arcrimi_found()
202 lp->mem_start = ioremap(dev->mem_start, in arcrimi_found()
203 dev->mem_end - dev->mem_start + 1); in arcrimi_found()
205 arc_printk(D_NORMAL, dev, "Can't remap device memory!\n"); in arcrimi_found()
210 arcnet_set_addr(dev, arcnet_readb(lp->mem_start, in arcrimi_found()
213 …arc_printk(D_NORMAL, dev, "ARCnet RIM I: station %02Xh found at IRQ %d, ShMem %lXh (%ld*%d bytes)\… in arcrimi_found()
214 dev->dev_addr[0], in arcrimi_found()
215 dev->irq, dev->mem_start, in arcrimi_found()
216 (dev->mem_end - dev->mem_start + 1) / mirror_size, in arcrimi_found()
219 err = register_netdev(dev); in arcrimi_found()
228 release_mem_region(dev->mem_start, dev->mem_end - dev->mem_start + 1); in arcrimi_found()
230 free_irq(dev->irq, dev); in arcrimi_found()
241 static int arcrimi_reset(struct net_device *dev, int really_reset) in arcrimi_reset() argument
243 struct arcnet_local *lp = netdev_priv(dev); in arcrimi_reset()
246 arc_printk(D_INIT, dev, "Resetting %s (status=%02Xh)\n", in arcrimi_reset()
247 dev->name, arcnet_readb(ioaddr, COM9026_REG_R_STATUS)); in arcrimi_reset()
264 static void arcrimi_setmask(struct net_device *dev, int mask) in arcrimi_setmask() argument
266 struct arcnet_local *lp = netdev_priv(dev); in arcrimi_setmask()
272 static int arcrimi_status(struct net_device *dev) in arcrimi_status() argument
274 struct arcnet_local *lp = netdev_priv(dev); in arcrimi_status()
280 static void arcrimi_command(struct net_device *dev, int cmd) in arcrimi_command() argument
282 struct arcnet_local *lp = netdev_priv(dev); in arcrimi_command()
288 static void arcrimi_copy_to_card(struct net_device *dev, int bufnum, int offset, in arcrimi_copy_to_card() argument
291 struct arcnet_local *lp = netdev_priv(dev); in arcrimi_copy_to_card()
294 TIME(dev, "memcpy_toio", count, memcpy_toio(memaddr, buf, count)); in arcrimi_copy_to_card()
297 static void arcrimi_copy_from_card(struct net_device *dev, int bufnum, in arcrimi_copy_from_card() argument
300 struct arcnet_local *lp = netdev_priv(dev); in arcrimi_copy_from_card()
303 TIME(dev, "memcpy_fromio", count, memcpy_fromio(buf, memaddr, count)); in arcrimi_copy_from_card()
321 struct net_device *dev; in arc_rimi_init() local
323 dev = alloc_arcdev(device); in arc_rimi_init()
324 if (!dev) in arc_rimi_init()
328 arcnet_set_addr(dev, node); in arc_rimi_init()
330 dev->mem_start = io; in arc_rimi_init()
331 dev->irq = irq; in arc_rimi_init()
332 if (dev->irq == 2) in arc_rimi_init()
333 dev->irq = 9; in arc_rimi_init()
335 if (arcrimi_probe(dev)) { in arc_rimi_init()
336 free_arcdev(dev); in arc_rimi_init()
340 my_dev = dev; in arc_rimi_init()
346 struct net_device *dev = my_dev; in arc_rimi_exit() local
347 struct arcnet_local *lp = netdev_priv(dev); in arc_rimi_exit()
349 unregister_netdev(dev); in arc_rimi_exit()
351 release_mem_region(dev->mem_start, dev->mem_end - dev->mem_start + 1); in arc_rimi_exit()
352 free_irq(dev->irq, dev); in arc_rimi_exit()
353 free_arcdev(dev); in arc_rimi_exit()