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