Lines Matching refs:dev

47 static int com90io_found(struct net_device *dev);
48 static void com90io_command(struct net_device *dev, int command);
49 static int com90io_status(struct net_device *dev);
50 static void com90io_setmask(struct net_device *dev, int mask);
51 static int com90io_reset(struct net_device *dev, int really_reset);
52 static void com90io_copy_to_card(struct net_device *dev, int bufnum, int offset,
54 static void com90io_copy_from_card(struct net_device *dev, int bufnum,
71 static u_char get_buffer_byte(struct net_device *dev, unsigned offset) in get_buffer_byte() argument
73 int ioaddr = dev->base_addr; in get_buffer_byte()
82 static void put_buffer_byte(struct net_device *dev, unsigned offset, in put_buffer_byte() argument
85 int ioaddr = dev->base_addr; in put_buffer_byte()
95 static void get_whole_buffer(struct net_device *dev, unsigned offset, in get_whole_buffer() argument
98 int ioaddr = dev->base_addr; in get_whole_buffer()
105 *(dest++) = get_buffer_byte(dev, offset++); in get_whole_buffer()
111 static void put_whole_buffer(struct net_device *dev, unsigned offset, in put_whole_buffer() argument
114 int ioaddr = dev->base_addr; in put_whole_buffer()
121 put_buffer_byte(dev, offset++, *(dest++)); in put_whole_buffer()
130 static int __init com90io_probe(struct net_device *dev) in com90io_probe() argument
132 int ioaddr = dev->base_addr, status; in com90io_probe()
141 …arc_printk(D_NORMAL, dev, "No autoprobe for IO mapped cards; you must specify the base address!\n"… in com90io_probe()
145 arc_printk(D_INIT_REASONS, dev, "IO request_region %x-%x failed\n", in com90io_probe()
150 arc_printk(D_INIT_REASONS, dev, "IO address %x empty\n", in com90io_probe()
160 arc_printk(D_INIT_REASONS, dev, "Status invalid (%Xh)\n", in com90io_probe()
164 arc_printk(D_INIT_REASONS, dev, "Status after reset: %X\n", status); in com90io_probe()
169 arc_printk(D_INIT_REASONS, dev, "Status after reset acknowledged: %X\n", in com90io_probe()
175 arc_printk(D_INIT_REASONS, dev, "Eternal reset (status=%Xh)\n", in com90io_probe()
189 arc_printk(D_INIT_REASONS, dev, "Signature byte not found (%Xh instead).\n", in com90io_probe()
193 if (!dev->irq) { in com90io_probe()
203 dev->irq = probe_irq_off(airqmask); in com90io_probe()
205 if ((int)dev->irq <= 0) { in com90io_probe()
206 arc_printk(D_INIT_REASONS, dev, "Autoprobe IRQ failed\n"); in com90io_probe()
211 return com90io_found(dev); in com90io_probe()
221 static int __init com90io_found(struct net_device *dev) in com90io_found() argument
224 int ioaddr = dev->base_addr; in com90io_found()
228 if (request_irq(dev->irq, arcnet_interrupt, 0, in com90io_found()
229 "arcnet (COM90xx-IO)", dev)) { in com90io_found()
230 arc_printk(D_NORMAL, dev, "Can't get IRQ %d!\n", dev->irq); in com90io_found()
234 if (!request_region(dev->base_addr, ARCNET_TOTAL_SIZE, in com90io_found()
236 free_irq(dev->irq, dev); in com90io_found()
240 lp = netdev_priv(dev); in com90io_found()
255 arcnet_set_addr(dev, get_buffer_byte(dev, 1)); in com90io_found()
257 err = register_netdev(dev); in com90io_found()
261 free_irq(dev->irq, dev); in com90io_found()
262 release_region(dev->base_addr, ARCNET_TOTAL_SIZE); in com90io_found()
266 arc_printk(D_NORMAL, dev, "COM90IO: station %02Xh found at %03lXh, IRQ %d.\n", in com90io_found()
267 dev->dev_addr[0], dev->base_addr, dev->irq); in com90io_found()
279 static int com90io_reset(struct net_device *dev, int really_reset) in com90io_reset() argument
281 struct arcnet_local *lp = netdev_priv(dev); in com90io_reset()
282 short ioaddr = dev->base_addr; in com90io_reset()
284 arc_printk(D_INIT, dev, "Resetting %s (status=%02Xh)\n", in com90io_reset()
285 dev->name, arcnet_inb(ioaddr, COM9026_REG_R_STATUS)); in com90io_reset()
301 if (get_buffer_byte(dev, 0) != TESTvalue) { in com90io_reset()
302 arc_printk(D_NORMAL, dev, "reset failed: TESTvalue not present.\n"); in com90io_reset()
311 static void com90io_command(struct net_device *dev, int cmd) in com90io_command() argument
313 short ioaddr = dev->base_addr; in com90io_command()
318 static int com90io_status(struct net_device *dev) in com90io_status() argument
320 short ioaddr = dev->base_addr; in com90io_status()
325 static void com90io_setmask(struct net_device *dev, int mask) in com90io_setmask() argument
327 short ioaddr = dev->base_addr; in com90io_setmask()
332 static void com90io_copy_to_card(struct net_device *dev, int bufnum, in com90io_copy_to_card() argument
335 TIME(dev, "put_whole_buffer", count, in com90io_copy_to_card()
336 put_whole_buffer(dev, bufnum * 512 + offset, count, buf)); in com90io_copy_to_card()
339 static void com90io_copy_from_card(struct net_device *dev, int bufnum, in com90io_copy_from_card() argument
342 TIME(dev, "get_whole_buffer", count, in com90io_copy_from_card()
343 get_whole_buffer(dev, bufnum * 512 + offset, count, buf)); in com90io_copy_from_card()
384 struct net_device *dev; in com90io_init() local
387 dev = alloc_arcdev(device); in com90io_init()
388 if (!dev) in com90io_init()
391 dev->base_addr = io; in com90io_init()
392 dev->irq = irq; in com90io_init()
393 if (dev->irq == 2) in com90io_init()
394 dev->irq = 9; in com90io_init()
396 err = com90io_probe(dev); in com90io_init()
399 free_arcdev(dev); in com90io_init()
403 my_dev = dev; in com90io_init()
409 struct net_device *dev = my_dev; in com90io_exit() local
410 int ioaddr = dev->base_addr; in com90io_exit()
412 unregister_netdev(dev); in com90io_exit()
420 free_irq(dev->irq, dev); in com90io_exit()
421 release_region(dev->base_addr, ARCNET_TOTAL_SIZE); in com90io_exit()
422 free_arcdev(dev); in com90io_exit()