taglinefilesource code
dev167arch/alpha/boot/main.cstatic inline long close(long dev)
dev169arch/alpha/boot/main.creturn dispatch(CCB_CLOSE, dev);
dev172arch/alpha/boot/main.cstatic inline long load(long dev, unsigned long addr, unsigned long count)
dev184arch/alpha/boot/main.creturn dispatch(CCB_READ, dev, count, addr, BOOT_SIZE/512 + 1);
dev204arch/alpha/boot/main.clong dev;
dev214arch/alpha/boot/main.cdev = openboot();
dev215arch/alpha/boot/main.cif (dev < 0) {
dev216arch/alpha/boot/main.cprintk("Unable to open boot device: %016lx\n", dev);
dev219arch/alpha/boot/main.cdev &= 0xffffffff;
dev221arch/alpha/boot/main.ci = load(dev, START_ADDR, START_SIZE);
dev222arch/alpha/boot/main.cclose(dev);
dev92arch/alpha/kernel/bios32.cstatic void layout_dev(struct pci_dev *dev)
dev98arch/alpha/kernel/bios32.cbus = dev->bus;
dev99arch/alpha/kernel/bios32.cpcibios_read_config_word(bus->number, dev->devfn, PCI_COMMAND, &cmd);
dev106arch/alpha/kernel/bios32.cpcibios_write_config_dword(bus->number, dev->devfn, reg,
dev108arch/alpha/kernel/bios32.cpcibios_read_config_dword(bus->number, dev->devfn, reg, &base);
dev128arch/alpha/kernel/bios32.cpcibios_write_config_dword(bus->number, dev->devfn, 
dev149arch/alpha/kernel/bios32.cPCI_SLOT(dev->devfn),
dev150arch/alpha/kernel/bios32.cPCI_FUNC(dev->devfn));
dev167arch/alpha/kernel/bios32.cPCI_SLOT(dev->devfn),
dev168arch/alpha/kernel/bios32.cPCI_FUNC(dev->devfn));
dev192arch/alpha/kernel/bios32.cPCI_SLOT(dev->devfn),
dev193arch/alpha/kernel/bios32.cPCI_FUNC(dev->devfn), size);
dev207arch/alpha/kernel/bios32.cpcibios_write_config_dword(bus->number, dev->devfn,
dev212arch/alpha/kernel/bios32.cif (dev->class >> 8 == PCI_CLASS_NOT_DEFINED ||
dev213arch/alpha/kernel/bios32.cdev->class >> 8 == PCI_CLASS_NOT_DEFINED_VGA ||
dev214arch/alpha/kernel/bios32.cdev->class >> 8 == PCI_CLASS_DISPLAY_VGA ||
dev215arch/alpha/kernel/bios32.cdev->class >> 8 == PCI_CLASS_DISPLAY_XGA)
dev225arch/alpha/kernel/bios32.cpcibios_write_config_word(bus->number, dev->devfn, PCI_COMMAND,
dev234arch/alpha/kernel/bios32.cstruct pci_dev *dev;
dev249arch/alpha/kernel/bios32.cfor (dev = bus->devices; dev; dev = dev->sibling) {
dev250arch/alpha/kernel/bios32.cif (dev->class >> 16 != PCI_BASE_CLASS_BRIDGE) {
dev251arch/alpha/kernel/bios32.clayout_dev(dev);
dev314arch/alpha/kernel/bios32.cstruct pci_dev *dev;
dev316arch/alpha/kernel/bios32.cfor (dev = pci_devices; dev; dev = dev->next) {
dev317arch/alpha/kernel/bios32.cif (dev->vendor == vendor && dev->device == device_id) {
dev319arch/alpha/kernel/bios32.c*devfn = dev->devfn;
dev320arch/alpha/kernel/bios32.c*bus = dev->bus->number;
dev338arch/alpha/kernel/bios32.cstruct pci_dev *dev;
dev340arch/alpha/kernel/bios32.cfor (dev = pci_devices; dev; dev = dev->next) {
dev341arch/alpha/kernel/bios32.cif (dev->class == class_code) {
dev343arch/alpha/kernel/bios32.c*devfn = dev->devfn;
dev344arch/alpha/kernel/bios32.c*bus = dev->bus->number;
dev406arch/alpha/kernel/bios32.cstruct pci_dev *dev;
dev411arch/alpha/kernel/bios32.cfor (dev = pci_devices; dev; dev = dev->next) {
dev412arch/alpha/kernel/bios32.cdev->irq = 0;
dev417arch/alpha/kernel/bios32.cif (dev->bus->number != 0)
dev421arch/alpha/kernel/bios32.cpcibios_read_config_byte(dev->bus->number, dev->devfn,
dev423arch/alpha/kernel/bios32.cif (irq_tab[PCI_SLOT(dev->devfn) - min_idsel][pin] != -1)
dev424arch/alpha/kernel/bios32.cdev->irq = irq_tab[PCI_SLOT(dev->devfn) - min_idsel][pin];
dev427arch/alpha/kernel/bios32.cpcibios_write_config_byte(dev->bus->number, dev->devfn,
dev428arch/alpha/kernel/bios32.cPCI_INTERRUPT_LINE, dev->irq);
dev548arch/alpha/kernel/bios32.cstruct pci_dev *dev;
dev599arch/alpha/kernel/bios32.cfor (dev = pci_devices; dev; dev = dev->next) {
dev600arch/alpha/kernel/bios32.cdev->irq = 0;
dev601arch/alpha/kernel/bios32.cif (dev->bus->number != 0 ||
dev602arch/alpha/kernel/bios32.cPCI_SLOT(dev->devfn) < 6 ||
dev603arch/alpha/kernel/bios32.cPCI_SLOT(dev->devfn) >= 6 + sizeof(pirq_tab)/sizeof(pirq_tab[0]))
dev606arch/alpha/kernel/bios32.cdev->bus->number, PCI_SLOT(dev->devfn));
dev609arch/alpha/kernel/bios32.cpcibios_read_config_byte(dev->bus->number, dev->devfn,
dev611arch/alpha/kernel/bios32.cpirq = pirq_tab[PCI_SLOT(dev->devfn) - 6][pin];
dev615arch/alpha/kernel/bios32.cif ((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) {
dev618arch/alpha/kernel/bios32.cdev->irq = (route_tab >> (8 * pirq)) & 0xff;
dev622arch/alpha/kernel/bios32.clevel_bits |= (1 << (dev->irq - 8));
dev627arch/alpha/kernel/bios32.cpcibios_write_config_byte(dev->bus->number, dev->devfn,
dev628arch/alpha/kernel/bios32.cPCI_INTERRUPT_LINE, dev->irq);
dev243arch/alpha/kernel/osf_sys.ckdev_t dev;
dev259arch/alpha/kernel/osf_sys.cdev = inode->i_rdev;
dev260arch/alpha/kernel/osf_sys.cif (MAJOR(dev) >= MAX_BLKDEV) {
dev264arch/alpha/kernel/osf_sys.cfops = get_blkfops(MAJOR(dev));
dev340arch/alpha/kernel/osf_sys.ckdev_t dev;
dev348arch/alpha/kernel/osf_sys.cdev = get_unnamed_dev();
dev349arch/alpha/kernel/osf_sys.cif (!dev)
dev351arch/alpha/kernel/osf_sys.cretval = do_mount(dev, dirname, "proc", flags, NULL);
dev353arch/alpha/kernel/osf_sys.cput_unnamed_dev(dev);
dev54arch/ppc/kernel/pci.cunsigned char dev, unsigned char offset, unsigned int *val)
dev58arch/ppc/kernel/pci.cdev >>= 3;
dev60arch/ppc/kernel/pci.c_printk("PCI Read config dword[%d.%d.%x] = ", bus, dev, offset);
dev62arch/ppc/kernel/pci.cif ((bus != 0) || (dev < 11) || (dev > 16))
dev68arch/ppc/kernel/pci.cptr = (unsigned long *)(0x80800000 | (1<<dev) | offset);
dev83arch/ppc/kernel/pci.cunsigned char dev, unsigned char offset, unsigned short *val)
dev87arch/ppc/kernel/pci.cdev >>= 3;
dev89arch/ppc/kernel/pci.c_printk("PCI Read config word[%d.%d.%x] = ", bus, dev, offset);
dev91arch/ppc/kernel/pci.cif ((bus != 0) || (dev < 11) || (dev > 16))
dev97arch/ppc/kernel/pci.cptr = (unsigned short *)(0x80800000 | (1<<dev) | offset);
dev112arch/ppc/kernel/pci.cunsigned char dev, unsigned char offset, unsigned char *val)
dev116arch/ppc/kernel/pci.cdev >>= 3;
dev118arch/ppc/kernel/pci.c_printk("PCI Read config byte[%d.%d.%x] = ", bus, dev, offset);
dev120arch/ppc/kernel/pci.cif ((bus != 0) || (dev < 11) || (dev > 16))
dev126arch/ppc/kernel/pci.cptr = (unsigned char *)(0x80800000 | (1<<dev) | offset ^ 1);
dev141arch/ppc/kernel/pci.cunsigned char dev, unsigned char offset, unsigned int val)
dev145arch/ppc/kernel/pci.cdev >>= 3;
dev148arch/ppc/kernel/pci.c_printk("PCI Write config dword[%d.%d.%x] = %x\n", bus, dev, offset, _val);
dev150arch/ppc/kernel/pci.cif ((bus != 0) || (dev < 11) || (dev > 16))
dev155arch/ppc/kernel/pci.cptr = (unsigned long *)(0x80800000 | (1<<dev) | offset);
dev163arch/ppc/kernel/pci.cunsigned char dev, unsigned char offset, unsigned short val)
dev167arch/ppc/kernel/pci.cdev >>= 3;
dev170arch/ppc/kernel/pci.c_printk("PCI Write config word[%d.%d.%x] = %x\n", bus, dev, offset, _val);
dev172arch/ppc/kernel/pci.cif ((bus != 0) || (dev < 11) || (dev > 16))
dev177arch/ppc/kernel/pci.cptr = (unsigned short *)(0x80800000 | (1<<dev) | offset);
dev185arch/ppc/kernel/pci.cunsigned char dev, unsigned char offset, unsigned char val)
dev189arch/ppc/kernel/pci.cdev >>= 3;
dev192arch/ppc/kernel/pci.c_printk("PCI Write config byte[%d.%d.%x] = %x\n", bus, dev, offset, _val);
dev194arch/ppc/kernel/pci.cif ((bus != 0) || (dev < 11) || (dev > 16))
dev199arch/ppc/kernel/pci.cptr = (unsigned char *)(0x80800000 | (1<<dev) | offset ^ 1);
dev208arch/ppc/kernel/pci.cunsigned char *dev)
dev223arch/ppc/kernel/pci.c*dev = devnr<<3;
dev234arch/ppc/kernel/pci.cunsigned char *bus, unsigned char *dev)
dev656arch/sparc/kernel/sys_sunos.cdev_t dev;
dev701arch/sparc/kernel/sys_sunos.cdev = get_unnamed_dev ();
dev703arch/sparc/kernel/sys_sunos.cret = do_mount (dev, dir_name, "nfs", linux_flags, &linux_nfs_mount);
dev705arch/sparc/kernel/sys_sunos.cput_unnamed_dev(dev);
dev3520drivers/block/floppy.cstatic int check_floppy_change(kdev_t dev)
dev3522drivers/block/floppy.cint drive = DRIVE(dev);
dev3524drivers/block/floppy.cif (MAJOR(dev) != MAJOR_NR) {
dev3541drivers/block/floppy.c(!TYPE(dev) && !current_type[drive]))
dev3550drivers/block/floppy.cstatic int floppy_revalidate(kdev_t dev)
dev3552drivers/block/floppy.c#define NO_GEOM (!current_type[drive] && !TYPE(dev))
dev3554drivers/block/floppy.cint drive=DRIVE(dev);
dev3577drivers/block/floppy.cint size = floppy_blocksizes[MINOR(dev)];
dev3580drivers/block/floppy.cif (!(bh = getblk(dev,0,size))){
dev91drivers/block/genhd.cstatic void extended_partition(struct gendisk *hd, kdev_t dev)
dev99drivers/block/genhd.cfirst_sector = hd->part[MINOR(dev)].start_sect;
dev100drivers/block/genhd.cfirst_size = hd->part[MINOR(dev)].nr_sects;
dev106drivers/block/genhd.cif (!(bh = bread(dev,0,1024)))
dev119drivers/block/genhd.cthis_size = hd->part[MINOR(dev)].nr_sects;
dev171drivers/block/genhd.cdev = MKDEV(hd->major, current_minor);
dev178drivers/block/genhd.cstatic int msdos_partition(struct gendisk *hd, kdev_t dev, unsigned long first_sector)
dev190drivers/block/genhd.cif (!(bh = bread(dev,0,1024))) {
dev224drivers/block/genhd.cif (ide_xlate_1024(dev, -1, " [EZD]")) {
dev240drivers/block/genhd.cif (ide_xlate_1024(dev, 1, " [DM6:DDO]")) {
dev251drivers/block/genhd.c(void) ide_xlate_1024 (dev, 0, " [DM6:MBR]");
dev257drivers/block/genhd.c(void)ide_xlate_1024(dev, 0, " [DM6:AUX]");
dev310drivers/block/genhd.cstatic int osf_partition(struct gendisk *hd, unsigned int dev, unsigned long first_sector)
dev349drivers/block/genhd.cif (!(bh = bread(dev,0,1024))) {
dev383drivers/block/genhd.cstatic int sun_partition(struct gendisk *hd, unsigned int dev, unsigned long first_sector)
dev412drivers/block/genhd.cif(!(bh = bread(dev, 0, 1024))) {
dev413drivers/block/genhd.cprintk("Dev %d: unable to read partition table\n", dev);
dev419drivers/block/genhd.cprintk("Dev %d Sun disklabel: bad magic %08x\n", dev, label->magic);
dev428drivers/block/genhd.cprintk("Dev %d Sun disklabel: Csum bad, label corrupted\n", dev);
dev451drivers/block/genhd.cstatic void check_partition(struct gendisk *hd, kdev_t dev)
dev459drivers/block/genhd.cfirst_sector = hd->part[MINOR(dev)].start_sect;
dev466drivers/block/genhd.chd->part[MINOR(dev)].start_sect = 0;
dev471drivers/block/genhd.cprint_minor_name(hd, MINOR(dev));
dev473drivers/block/genhd.cif (msdos_partition(hd, dev, first_sector))
dev477drivers/block/genhd.cif (osf_partition(hd, dev, first_sector))
dev481drivers/block/genhd.cif(sun_partition(hd, dev, first_sector))
dev496drivers/block/genhd.cvoid resetup_one_dev(struct gendisk *dev, int drive)
dev499drivers/block/genhd.cint first_minor  = drive << dev->minor_shift;
dev500drivers/block/genhd.cint end_minor  = first_minor + dev->max_p;
dev502drivers/block/genhd.cblk_size[dev->major] = NULL;
dev504drivers/block/genhd.ccheck_partition(dev, MKDEV(dev->major, first_minor));
dev510drivers/block/genhd.cif (dev->sizes != NULL) {  /* optional safeguard in ll_rw_blk.c */
dev512drivers/block/genhd.cdev->sizes[i] = dev->part[i].nr_sects >> (BLOCK_SIZE_BITS - 9);
dev513drivers/block/genhd.cblk_size[dev->major] = dev->sizes;
dev517drivers/block/genhd.cstatic void setup_dev(struct gendisk *dev)
dev520drivers/block/genhd.cint end_minor  = dev->max_nr * dev->max_p;
dev522drivers/block/genhd.cblk_size[dev->major] = NULL;
dev524drivers/block/genhd.cdev->part[i].start_sect = 0;
dev525drivers/block/genhd.cdev->part[i].nr_sects = 0;
dev527drivers/block/genhd.cdev->init(dev);  
dev528drivers/block/genhd.cfor (drive = 0 ; drive < dev->nr_real ; drive++) {
dev529drivers/block/genhd.cint first_minor  = drive << dev->minor_shift;
dev531drivers/block/genhd.ccheck_partition(dev, MKDEV(dev->major, first_minor));
dev533drivers/block/genhd.cif (dev->sizes != NULL) {  /* optional safeguard in ll_rw_blk.c */
dev535drivers/block/genhd.cdev->sizes[i] = dev->part[i].nr_sects >> (BLOCK_SIZE_BITS - 9);
dev536drivers/block/genhd.cblk_size[dev->major] = dev->sizes;
dev283drivers/block/hd.cunsigned int dev = DEVICE_NR(CURRENT->rq_dev);
dev285drivers/block/hd.cstruct hd_driveid *id = hd_ident_info[dev];
dev287drivers/block/hd.cif (unmask_intr[dev])
dev290drivers/block/hd.cprintk ("  hd%c: non-IDE device, %dMB, CHS=%d/%d/%d\n", dev+'a',
dev291drivers/block/hd.chd_info[dev].cyl*hd_info[dev].head*hd_info[dev].sect / 2048,
dev292drivers/block/hd.chd_info[dev].cyl, hd_info[dev].head, hd_info[dev].sect);
dev294drivers/block/hd.chd_ident_info[dev] = NULL;
dev299drivers/block/hd.cmax_mult[dev] = id->max_multsect;
dev308drivers/block/hd.chd_info[dev].cyl  = id->cur_cyls;
dev309drivers/block/hd.chd_info[dev].head = id->cur_heads;
dev310drivers/block/hd.chd_info[dev].sect = id->cur_sectors; 
dev316drivers/block/hd.cdev+'a', id->model, id->cyls*id->heads*id->sectors/2048,
dev317drivers/block/hd.cid->buf_size/2, bios_info[dev].cyl, bios_info[dev].head,
dev318drivers/block/hd.cbios_info[dev].sect, id->max_multsect);
dev325drivers/block/hd.cspecial_op[dev] = recalibrate[dev] = 1;
dev336drivers/block/hd.cunsigned int dev = DEVICE_NR(CURRENT->rq_dev), stat = inb_p(HD_STATUS);
dev338drivers/block/hd.cif (unmask_intr[dev])
dev341drivers/block/hd.cmult_req[dev] = mult_count[dev] = 0;
dev344drivers/block/hd.cif ((mult_count[dev] = mult_req[dev]))
dev346drivers/block/hd.cdev+'a', mult_count[dev]);
dev348drivers/block/hd.cprintk ("  hd%c: disabled multiple mode\n", dev+'a');
dev446drivers/block/hd.cint dev;
dev450drivers/block/hd.cdev = DEVICE_NR(CURRENT->rq_dev);
dev453drivers/block/hd.cspecial_op[dev] = recalibrate[dev] = 1;
dev457drivers/block/hd.cspecial_op[dev] = recalibrate[dev] = 1;
dev474drivers/block/hd.cunsigned int dev = DEVICE_NR(CURRENT->rq_dev);
dev475drivers/block/hd.cint i, retries = 100000, msect = mult_count[dev], nsect;
dev477drivers/block/hd.cif (unmask_intr[dev])
dev507drivers/block/hd.cdev+'a', CURRENT->sector, CURRENT->sector+nsect,
dev527drivers/block/hd.cstatic inline void multwrite (unsigned int dev)
dev529drivers/block/hd.cunsigned int mcount = mult_count[dev];
dev549drivers/block/hd.cunsigned int dev = DEVICE_NR(WCURRENT.rq_dev);
dev551drivers/block/hd.cif (unmask_intr[dev])
dev556drivers/block/hd.cmultwrite(dev);
dev635drivers/block/hd.cunsigned int dev;
dev643drivers/block/hd.cdev = DEVICE_NR(CURRENT->rq_dev);
dev644drivers/block/hd.cprintk("hd%c: timeout\n", dev+'a');
dev647drivers/block/hd.cprintk("hd%c: too many errors\n", dev+'a');
dev656drivers/block/hd.cint do_special_op (unsigned int dev)
dev658drivers/block/hd.cif (recalibrate[dev]) {
dev659drivers/block/hd.crecalibrate[dev] = 0;
dev660drivers/block/hd.chd_out(dev,hd_info[dev].sect,0,0,0,WIN_RESTORE,&recal_intr);
dev663drivers/block/hd.cif (!identified[dev]) {
dev664drivers/block/hd.cidentified[dev]  = 1;
dev665drivers/block/hd.cunmask_intr[dev] = DEFAULT_UNMASK_INTR;
dev666drivers/block/hd.cmult_req[dev]    = DEFAULT_MULT_COUNT;
dev667drivers/block/hd.chd_out(dev,0,0,0,0,WIN_IDENTIFY,&identify_intr);
dev670drivers/block/hd.cif (mult_req[dev] != mult_count[dev]) {
dev671drivers/block/hd.chd_out(dev,mult_req[dev],0,0,0,WIN_SETMULT,&set_multmode_intr);
dev674drivers/block/hd.cif (hd_info[dev].head > 16) {
dev675drivers/block/hd.cprintk ("hd%c: cannot handle device with more than 16 heads - giving up\n", dev+'a');
dev678drivers/block/hd.cspecial_op[dev] = 0;
dev696drivers/block/hd.cunsigned int dev, block, nsect, sec, track, head, cyl;
dev710drivers/block/hd.cdev = MINOR(CURRENT->rq_dev);
dev713drivers/block/hd.cif (dev >= (NR_HD<<6) || block >= hd[dev].nr_sects || ((block+nsect) > hd[dev].nr_sects)) {
dev715drivers/block/hd.cif (dev >= (NR_HD<<6))
dev725drivers/block/hd.cblock += hd[dev].start_sect;
dev726drivers/block/hd.cdev >>= 6;
dev727drivers/block/hd.cif (special_op[dev]) {
dev728drivers/block/hd.cif (do_special_op(dev))
dev732drivers/block/hd.csec   = block % hd_info[dev].sect + 1;
dev733drivers/block/hd.ctrack = block / hd_info[dev].sect;
dev734drivers/block/hd.chead  = track % hd_info[dev].head;
dev735drivers/block/hd.ccyl   = track / hd_info[dev].head;
dev738drivers/block/hd.cdev+'a', (CURRENT->cmd == READ)?"read":"writ",
dev741drivers/block/hd.cif (!unmask_intr[dev])
dev744drivers/block/hd.cunsigned int cmd = mult_count[dev] > 1 ? WIN_MULTREAD : WIN_READ;
dev745drivers/block/hd.chd_out(dev,nsect,sec,head,cyl,cmd,&read_intr);
dev751drivers/block/hd.cif (mult_count[dev])
dev752drivers/block/hd.chd_out(dev,nsect,sec,head,cyl,WIN_MULTWRITE,&multwrite_intr);
dev754drivers/block/hd.chd_out(dev,nsect,sec,head,cyl,WIN_WRITE,&write_intr);
dev761drivers/block/hd.cif (mult_count[dev]) {
dev763drivers/block/hd.cmultwrite(dev);
dev782drivers/block/hd.cint dev, err;
dev787drivers/block/hd.cdev = DEVICE_NR(inode->i_rdev);
dev788drivers/block/hd.cif (dev >= NR_HD)
dev796drivers/block/hd.cput_user(bios_info[dev].head,
dev798drivers/block/hd.cput_user(bios_info[dev].sect,
dev800drivers/block/hd.cput_user(bios_info[dev].cyl,
dev837drivers/block/hd.cunmask_intr[dev] = arg;
dev845drivers/block/hd.cput_user(unmask_intr[dev], (long *) arg);
dev853drivers/block/hd.cput_user(mult_count[dev], (long *) arg);
dev861drivers/block/hd.cif (arg > max_mult[dev])
dev863drivers/block/hd.celse if (mult_req[dev] != mult_count[dev]) {
dev864drivers/block/hd.cspecial_op[dev] = 1;
dev867drivers/block/hd.cmult_req[dev] = arg;
dev868drivers/block/hd.cspecial_op[dev] = 1;
dev877drivers/block/hd.cif (hd_ident_info[dev] == NULL)  return -ENOMSG;
dev881drivers/block/hd.cmemcpy_tofs((char *)arg, (char *) hd_ident_info[dev], sizeof(struct hd_driveid));
dev1080drivers/block/hd.cstatic int revalidate_hddisk(kdev_t dev, int maxusage)
dev1089drivers/block/hd.ctarget = DEVICE_NR(dev);
dev107drivers/block/ll_rw_blk.cstatic inline void plug_device(struct blk_dev_struct * dev, struct request * plug)
dev116drivers/block/ll_rw_blk.cif (!dev->current_request)
dev117drivers/block/ll_rw_blk.cdev->current_request = plug;
dev124drivers/block/ll_rw_blk.cstatic inline void unplug_device(struct blk_dev_struct * dev)
dev131drivers/block/ll_rw_blk.creq = dev->current_request;
dev133drivers/block/ll_rw_blk.cdev->current_request = req->next;
dev134drivers/block/ll_rw_blk.c(dev->request_fn)();
dev144drivers/block/ll_rw_blk.cstatic inline struct request * get_request(int n, kdev_t dev)
dev167drivers/block/ll_rw_blk.creq->rq_dev = dev;
dev174drivers/block/ll_rw_blk.cstatic struct request * __get_request_wait(int n, kdev_t dev)
dev181drivers/block/ll_rw_blk.cunplug_device(MAJOR(dev)+blk_dev);
dev184drivers/block/ll_rw_blk.creq = get_request(n, dev);
dev195drivers/block/ll_rw_blk.cstatic inline struct request * get_request_wait(int n, kdev_t dev)
dev200drivers/block/ll_rw_blk.creq = get_request(n, dev);
dev204drivers/block/ll_rw_blk.creturn __get_request_wait(n, dev);
dev211drivers/block/ll_rw_blk.cint is_read_only(kdev_t dev)
dev215drivers/block/ll_rw_blk.cmajor = MAJOR(dev);
dev216drivers/block/ll_rw_blk.cminor = MINOR(dev);
dev221drivers/block/ll_rw_blk.cvoid set_device_ro(kdev_t dev,int flag)
dev225drivers/block/ll_rw_blk.cmajor = MAJOR(dev);
dev226drivers/block/ll_rw_blk.cminor = MINOR(dev);
dev250drivers/block/ll_rw_blk.cstatic void add_request(struct blk_dev_struct * dev, struct request * req)
dev277drivers/block/ll_rw_blk.cif (!(tmp = dev->current_request)) {
dev278drivers/block/ll_rw_blk.cdev->current_request = req;
dev279drivers/block/ll_rw_blk.c(dev->request_fn)();
dev294drivers/block/ll_rw_blk.c(dev->request_fn)();
dev429drivers/block/ll_rw_blk.cvoid ll_rw_page(int rw, kdev_t dev, unsigned long page, char * buffer)
dev432drivers/block/ll_rw_blk.cunsigned int major = MAJOR(dev);
dev438drivers/block/ll_rw_blk.ckdevname(dev), sector);
dev443drivers/block/ll_rw_blk.cif (rw == WRITE && is_read_only(dev)) {
dev445drivers/block/ll_rw_blk.ckdevname(dev));
dev448drivers/block/ll_rw_blk.creq = get_request_wait(NR_REQUEST, dev);
dev472drivers/block/ll_rw_blk.cstruct blk_dev_struct * dev;
dev482drivers/block/ll_rw_blk.cdev = NULL;
dev484drivers/block/ll_rw_blk.cdev = blk_dev + major;
dev485drivers/block/ll_rw_blk.cif (!dev || !dev->request_fn) {
dev522drivers/block/ll_rw_blk.cplug_device(dev, &plug);
dev533drivers/block/ll_rw_blk.cunplug_device(dev);
dev546drivers/block/ll_rw_blk.cvoid ll_rw_swap_file(int rw, kdev_t dev, unsigned int *b, int nb, char *buf)
dev551drivers/block/ll_rw_blk.cunsigned int major = MAJOR(dev);
dev563drivers/block/ll_rw_blk.cif (rw == WRITE && is_read_only(dev)) {
dev565drivers/block/ll_rw_blk.ckdevname(dev));
dev576drivers/block/ll_rw_blk.creq[j] = get_request_wait(NR_REQUEST, dev);
dev579drivers/block/ll_rw_blk.creq[j] = get_request(NR_REQUEST, dev);
dev195drivers/block/xd.cint dev = DEVICE_NR(inode->i_rdev);
dev197drivers/block/xd.cif (dev < xd_drives) {
dev198drivers/block/xd.cwhile (!xd_valid[dev])
dev201drivers/block/xd.cxd_access[dev]++;
dev243drivers/block/xd.cint dev = DEVICE_NR(inode->i_rdev),err;
dev245drivers/block/xd.cif (inode && (dev < xd_drives))
dev251drivers/block/xd.cput_user(xd_info[dev].heads, &geometry->heads);
dev252drivers/block/xd.cput_user(xd_info[dev].sectors, &geometry->sectors);
dev253drivers/block/xd.cput_user(xd_info[dev].cylinders, &geometry->cylinders);
dev295drivers/block/xd.cint dev = DEVICE_NR(inode->i_rdev);
dev297drivers/block/xd.cif (dev < xd_drives) {
dev299drivers/block/xd.cxd_access[dev]--;
dev304drivers/block/xd.cstatic int xd_reread_partitions(kdev_t dev)
dev306drivers/block/xd.cint target = DEVICE_NR(dev);
dev261drivers/cdrom/gscd.cunsigned int block,dev;
dev267drivers/cdrom/gscd.cdev = MINOR(CURRENT->rq_dev);
dev299drivers/cdrom/gscd.cprintk ("GSCD: dev %d, block %d, nsect %d\n", dev, block, nsect );
dev536drivers/cdrom/mcdx.cint dev;
dev552drivers/cdrom/mcdx.cdev = MINOR(CURRENT->rq_dev);
dev554drivers/cdrom/mcdx.cif ((dev < 0) || (dev >= MCDX_NDRIVES) || (!stuffp->present)) {
dev783drivers/cdrom/sonycd535.cunsigned int dev;
dev805drivers/cdrom/sonycd535.cdev = MINOR(CURRENT->rq_dev);
dev808drivers/cdrom/sonycd535.cif (dev != 0) {
dev1074drivers/cdrom/sonycd535.cunsigned int dev;
dev1084drivers/cdrom/sonycd535.cdev = MINOR(inode->i_rdev) >> 6;
dev1085drivers/cdrom/sonycd535.cif (dev != 0) {
dev1924drivers/char/tpqic02.ckdev_t dev = inode->i_rdev;
dev1937drivers/char/tpqic02.cMINOR(dev), buf, count, (unsigned long) filp->f_pos, flags);
dev2099drivers/char/tpqic02.ckdev_t dev = inode->i_rdev;
dev2111drivers/char/tpqic02.cMINOR(dev), buf, count, (unsigned long) filp->f_pos, flags);
dev2250drivers/char/tpqic02.ckdev_t dev = inode->i_rdev;
dev2256drivers/char/tpqic02.cif (TP_DIAGS(dev)) {
dev2258drivers/char/tpqic02.ckdevname(dev), flags);
dev2261drivers/char/tpqic02.cif (MINOR(dev)==255)  /* special case for resetting */
dev2337drivers/char/tpqic02.cif ((TP_DENS(dev)!=0) && (TP_DENS(current_tape_dev) != TP_DENS(dev))) {
dev2350drivers/char/tpqic02.ccurrent_tape_dev = dev;
dev2386drivers/char/tpqic02.cif (TP_DENS(current_tape_dev) == TP_DENS(dev) )
dev2389drivers/char/tpqic02.ccurrent_tape_dev = dev;
dev2392drivers/char/tpqic02.cdens = TP_DENS(dev);
dev2399drivers/char/tpqic02.cswitch (TP_DENS(dev)) {
dev2436drivers/char/tpqic02.ckdev_t dev = inode->i_rdev;
dev2438drivers/char/tpqic02.cif (TP_DIAGS(dev))
dev2440drivers/char/tpqic02.ckdevname(dev));
dev2456drivers/char/tpqic02.cif ((TP_REWCLOSE(dev)) && (status_bytes_rd | status_bytes_wr)) {
dev114drivers/net/3c501.cint el1_probe(struct device *dev);
dev115drivers/net/3c501.cstatic int  el1_probe1(struct device *dev, int ioaddr);
dev116drivers/net/3c501.cstatic int  el_open(struct device *dev);
dev117drivers/net/3c501.cstatic int  el_start_xmit(struct sk_buff *skb, struct device *dev);
dev119drivers/net/3c501.cstatic void el_receive(struct device *dev);
dev120drivers/net/3c501.cstatic void el_reset(struct device *dev);
dev121drivers/net/3c501.cstatic int  el1_close(struct device *dev);
dev122drivers/net/3c501.cstatic struct enet_statistics *el1_get_stats(struct device *dev);
dev123drivers/net/3c501.cstatic void set_multicast_list(struct device *dev);
dev192drivers/net/3c501.cel1_probe(struct device *dev)
dev195drivers/net/3c501.cint base_addr = dev ? dev->base_addr : 0;
dev198drivers/net/3c501.creturn el1_probe1(dev, base_addr);
dev206drivers/net/3c501.cif (el1_probe1(dev, ioaddr) == 0)
dev216drivers/net/3c501.cel1_probe1(struct device *dev, int ioaddr)
dev246drivers/net/3c501.cif (dev->irq < 2) {
dev267drivers/net/3c501.cdev->base_addr = ioaddr;
dev268drivers/net/3c501.cmemcpy(dev->dev_addr, station_addr, ETH_ALEN);
dev269drivers/net/3c501.cif (dev->mem_start & 0xf)
dev270drivers/net/3c501.cel_debug = dev->mem_start & 0x7;
dev272drivers/net/3c501.cdev->irq = autoirq;
dev275drivers/net/3c501.cdev->name, mname, dev->base_addr,
dev276drivers/net/3c501.cautoirq ? "auto":"assigned ", dev->irq);
dev286drivers/net/3c501.cdev->priv = kmalloc(sizeof(struct net_local), GFP_KERNEL);
dev287drivers/net/3c501.cif (dev->priv == NULL)
dev289drivers/net/3c501.cmemset(dev->priv, 0, sizeof(struct net_local));
dev292drivers/net/3c501.cdev->open = &el_open;
dev293drivers/net/3c501.cdev->hard_start_xmit = &el_start_xmit;
dev294drivers/net/3c501.cdev->stop = &el1_close;
dev295drivers/net/3c501.cdev->get_stats = &el1_get_stats;
dev296drivers/net/3c501.cdev->set_multicast_list = &set_multicast_list;
dev298drivers/net/3c501.cether_setup(dev);
dev306drivers/net/3c501.cel_open(struct device *dev)
dev308drivers/net/3c501.cint ioaddr = dev->base_addr;
dev311drivers/net/3c501.cprintk("%s: Doing el_open()...", dev->name);
dev313drivers/net/3c501.cif (request_irq(dev->irq, &el_interrupt, 0, "3c501")) {
dev316drivers/net/3c501.cirq2dev_map[dev->irq] = dev;
dev318drivers/net/3c501.cel_reset(dev);
dev320drivers/net/3c501.cdev->start = 1;
dev328drivers/net/3c501.cel_start_xmit(struct sk_buff *skb, struct device *dev)
dev330drivers/net/3c501.cstruct net_local *lp = (struct net_local *)dev->priv;
dev331drivers/net/3c501.cint ioaddr = dev->base_addr;
dev334drivers/net/3c501.cif (dev->tbusy) {
dev335drivers/net/3c501.cif (jiffies - dev->trans_start < 20) {
dev342drivers/net/3c501.cdev->name, inb(TX_STATUS), inb(AX_STATUS), inb(RX_STATUS));
dev348drivers/net/3c501.cdev->tbusy = 0;
dev349drivers/net/3c501.cdev->trans_start = jiffies;
dev353drivers/net/3c501.cdev_tint(dev);
dev363drivers/net/3c501.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev366drivers/net/3c501.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev398drivers/net/3c501.cprintk("%s: burped during tx load.\n", dev->name);
dev402drivers/net/3c501.cdev->trans_start = jiffies;
dev417drivers/net/3c501.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev422drivers/net/3c501.cif (dev == NULL  ||  dev->irq != irq) {
dev427drivers/net/3c501.cioaddr = dev->base_addr;
dev428drivers/net/3c501.clp = (struct net_local *)dev->priv;
dev432drivers/net/3c501.cprintk("%s: el_interrupt() aux=%#02x", dev->name, axsr);
dev433drivers/net/3c501.cif (dev->interrupt)
dev434drivers/net/3c501.cprintk("%s: Reentering the interrupt driver!\n", dev->name);
dev435drivers/net/3c501.cdev->interrupt = 1;
dev439drivers/net/3c501.cif (dev->tbusy) {
dev457drivers/net/3c501.c" gp=%03x rp=%03x.\n", dev->name, txsr, axsr,
dev459drivers/net/3c501.cdev->tbusy = 0;
dev467drivers/net/3c501.cdev->name);
dev480drivers/net/3c501.cdev->interrupt = 0;
dev493drivers/net/3c501.cdev->tbusy = 0;
dev519drivers/net/3c501.cel_receive(dev);
dev523drivers/net/3c501.cdev->name, rxsr);
dev524drivers/net/3c501.cel_reset(dev);
dev537drivers/net/3c501.cdev->interrupt = 0;
dev545drivers/net/3c501.cel_receive(struct device *dev)
dev547drivers/net/3c501.cstruct net_local *lp = (struct net_local *)dev->priv;
dev548drivers/net/3c501.cint ioaddr = dev->base_addr;
dev559drivers/net/3c501.cprintk("%s: bogus packet, length=%d\n", dev->name, pkt_len);
dev576drivers/net/3c501.cprintk("%s: Memory squeeze, dropping packet.\n", dev->name);
dev581drivers/net/3c501.cskb->dev = dev;
dev590drivers/net/3c501.cskb->protocol=eth_type_trans(skb,dev);
dev598drivers/net/3c501.cel_reset(struct device *dev)
dev600drivers/net/3c501.cint ioaddr = dev->base_addr;
dev609drivers/net/3c501.coutb(dev->dev_addr[i], ioaddr + i);
dev618drivers/net/3c501.cdev->interrupt = 0;
dev619drivers/net/3c501.cdev->tbusy = 0;
dev624drivers/net/3c501.cel1_close(struct device *dev)
dev626drivers/net/3c501.cint ioaddr = dev->base_addr;
dev629drivers/net/3c501.cprintk("%s: Shutting down ethercard at %#x.\n", dev->name, ioaddr);
dev631drivers/net/3c501.cdev->tbusy = 1;
dev632drivers/net/3c501.cdev->start = 0;
dev635drivers/net/3c501.cfree_irq(dev->irq);
dev637drivers/net/3c501.cirq2dev_map[dev->irq] = 0;
dev644drivers/net/3c501.cel1_get_stats(struct device *dev)
dev646drivers/net/3c501.cstruct net_local *lp = (struct net_local *)dev->priv;
dev655drivers/net/3c501.cstatic void set_multicast_list(struct device *dev)
dev657drivers/net/3c501.cint ioaddr = dev->base_addr;
dev659drivers/net/3c501.cif(dev->flags&IFF_PROMISC)
dev664drivers/net/3c501.celse if (dev->mc_list || dev->flags&IFF_ALLMULTI)
dev52drivers/net/3c503.cint el2_probe(struct device *dev);
dev53drivers/net/3c503.cint el2_pio_probe(struct device *dev);
dev54drivers/net/3c503.cint el2_probe1(struct device *dev, int ioaddr);
dev71drivers/net/3c503.cstatic int el2_open(struct device *dev);
dev72drivers/net/3c503.cstatic int el2_close(struct device *dev);
dev73drivers/net/3c503.cstatic void el2_reset_8390(struct device *dev);
dev74drivers/net/3c503.cstatic void el2_init_card(struct device *dev);
dev75drivers/net/3c503.cstatic void el2_block_output(struct device *dev, int count,
dev77drivers/net/3c503.cstatic void el2_block_input(struct device *dev, int count, struct sk_buff *skb,
dev79drivers/net/3c503.cstatic void el2_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr,
dev91drivers/net/3c503.cel2_probe(struct device *dev)
dev94drivers/net/3c503.cint base_addr = dev->base_addr;
dev97drivers/net/3c503.creturn el2_probe1(dev, base_addr);
dev112drivers/net/3c503.cif (el2_probe1(dev, netcard_portlist[i]) == 0)
dev116drivers/net/3c503.creturn el2_pio_probe(dev);
dev126drivers/net/3c503.cel2_pio_probe(struct device *dev)
dev129drivers/net/3c503.cint base_addr = dev ? dev->base_addr : 0;
dev132drivers/net/3c503.creturn el2_probe1(dev, base_addr);
dev140drivers/net/3c503.cif (el2_probe1(dev, ioaddr) == 0)
dev152drivers/net/3c503.cel2_probe1(struct device *dev, int ioaddr)
dev187drivers/net/3c503.cif (dev == NULL) {
dev189drivers/net/3c503.cdev = init_etherdev(0, 0);
dev195drivers/net/3c503.cdev->base_addr = ioaddr;
dev198drivers/net/3c503.cif (ethdev_init(dev)) {
dev203drivers/net/3c503.cprintk("%s: 3c503 at i/o base %#3x, node ", dev->name, ioaddr);
dev207drivers/net/3c503.cprintk(" %2.2x", dev->dev_addr[i] = inb(ioaddr + i));
dev230drivers/net/3c503.cei_status.interface_num = dev->mem_end & 0xf;
dev235drivers/net/3c503.cdev->mem_start = 0;
dev238drivers/net/3c503.cdev->mem_start = ((membase_reg & 0xc0) ? 0xD8000 : 0xC8000) +
dev247drivers/net/3c503.cunsigned long mem_base = dev->mem_start;
dev255drivers/net/3c503.cdev->mem_start = 0;
dev265drivers/net/3c503.cdev->mem_end = dev->rmem_end = dev->mem_start + EL2_MEMSIZE;
dev268drivers/net/3c503.cdev->rmem_start = dev->mem_start;
dev271drivers/net/3c503.cdev->rmem_start = TX_PAGES*256 + dev->mem_start;
dev302drivers/net/3c503.cif (dev->irq == 2)
dev303drivers/net/3c503.cdev->irq = 9;
dev304drivers/net/3c503.celse if (dev->irq > 5 && dev->irq != 9) {
dev306drivers/net/3c503.cdev->irq);
dev307drivers/net/3c503.cdev->irq = 0;
dev310drivers/net/3c503.cei_status.saved_irq = dev->irq;
dev312drivers/net/3c503.cdev->start = 0;
dev313drivers/net/3c503.cdev->open = &el2_open;
dev314drivers/net/3c503.cdev->stop = &el2_close;
dev316drivers/net/3c503.cif (dev->mem_start)
dev318drivers/net/3c503.cdev->name, ei_status.name, (wordlength+1)<<3,
dev319drivers/net/3c503.cdev->mem_start, dev->mem_end-1);
dev323drivers/net/3c503.cdev->name, ei_status.name, (wordlength+1)<<3);
dev329drivers/net/3c503.cel2_open(struct device *dev)
dev332drivers/net/3c503.cif (dev->irq < 2) {
dev344drivers/net/3c503.c&& request_irq (dev->irq = *irqp, &ei_interrupt, 0, ei_status.name) == 0)
dev353drivers/net/3c503.cif (request_irq(dev->irq, &ei_interrupt, 0, ei_status.name)) {
dev358drivers/net/3c503.cel2_init_card(dev);
dev359drivers/net/3c503.cei_open(dev);
dev365drivers/net/3c503.cel2_close(struct device *dev)
dev367drivers/net/3c503.cfree_irq(dev->irq);
dev368drivers/net/3c503.cdev->irq = ei_status.saved_irq;
dev369drivers/net/3c503.cirq2dev_map[dev->irq] = NULL;
dev372drivers/net/3c503.cei_close(dev);
dev382drivers/net/3c503.cel2_reset_8390(struct device *dev)
dev385drivers/net/3c503.cprintk("%s: Resetting the 3c503 board...", dev->name);
dev392drivers/net/3c503.cel2_init_card(dev);
dev398drivers/net/3c503.cel2_init_card(struct device *dev)
dev413drivers/net/3c503.coutb_p(0x00,  dev->base_addr + EN0_IMR);
dev418drivers/net/3c503.coutb_p((0x04 << (dev->irq == 9 ? 2 : dev->irq)), E33G_IDCFR);
dev428drivers/net/3c503.cel2_block_output(struct device *dev, int count,
dev439drivers/net/3c503.cif (dev->mem_start) {  /* Shared memory transfer */
dev440drivers/net/3c503.cunsigned long dest_addr = dev->mem_start +
dev461drivers/net/3c503.cdev->name, i, count, boguscount);
dev474drivers/net/3c503.cel2_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr, int ring_page)
dev477drivers/net/3c503.cunsigned long hdr_start = dev->mem_start + ((ring_page - EL2_MB1_START_PG)<<8);
dev479drivers/net/3c503.cif (dev->mem_start) {       /* Use the shared memory. */
dev499drivers/net/3c503.cel2_block_input(struct device *dev, int count, struct sk_buff *skb, int ring_offset)
dev502drivers/net/3c503.cint end_of_ring = dev->rmem_end;
dev506drivers/net/3c503.cif (dev->mem_start) {  /* Use the shared memory. */
dev508drivers/net/3c503.cif (dev->mem_start + ring_offset + count > end_of_ring) {
dev510drivers/net/3c503.cint semi_count = end_of_ring - (dev->mem_start + ring_offset);
dev511drivers/net/3c503.cmemcpy_fromio(skb->data, dev->mem_start + ring_offset, semi_count);
dev513drivers/net/3c503.cmemcpy_fromio(skb->data + semi_count, dev->rmem_start, count);
dev516drivers/net/3c503.ceth_io_copy_and_sum(skb, dev->mem_start + ring_offset, count, 0);
dev533drivers/net/3c503.cdev->name, i, count, boguscount);
dev568drivers/net/3c503.cstruct device *dev = &dev_el2[this_dev];
dev569drivers/net/3c503.cdev->name = namelist+(NAMELEN*this_dev);
dev570drivers/net/3c503.cdev->irq = irq[this_dev];
dev571drivers/net/3c503.cdev->base_addr = io[this_dev];
dev572drivers/net/3c503.cdev->mem_end = xcvr[this_dev];  /* low 4bits = xcvr sel. */
dev573drivers/net/3c503.cdev->init = el2_probe;
dev578drivers/net/3c503.cif (register_netdev(dev) != 0) {
dev595drivers/net/3c503.cstruct device *dev = &dev_el2[this_dev];
dev596drivers/net/3c503.cif (dev->priv != NULL) {
dev598drivers/net/3c503.ckfree(dev->priv);
dev599drivers/net/3c503.cdev->priv = NULL;
dev600drivers/net/3c503.crelease_region(dev->base_addr, EL2_IO_EXTENT);
dev601drivers/net/3c503.cunregister_netdev(dev);
dev6drivers/net/3c503.h#define EL2H (dev->base_addr + 0x400)
dev7drivers/net/3c503.h#define EL2L (dev->base_addr)
dev265drivers/net/3c505.cadapter_reset (struct device * dev)
dev268drivers/net/3c505.cunsigned char orig_hcr=inb_control(dev->base_addr);
dev270drivers/net/3c505.celp_device * adapter=dev->priv;
dev272drivers/net/3c505.coutb_control(0,dev->base_addr);
dev274drivers/net/3c505.cif (inb_status(dev->base_addr)&ACRF) {
dev276drivers/net/3c505.cinb_command(dev->base_addr);
dev278drivers/net/3c505.cwhile ((jiffies<=timeout) && !(inb_status(dev->base_addr)&ACRF))
dev280drivers/net/3c505.c} while (inb_status(dev->base_addr)&ACRF);
dev281drivers/net/3c505.cset_hsf(dev->base_addr,HSF_PCB_NAK);
dev284drivers/net/3c505.coutb_control(inb_control(dev->base_addr)|ATTN|DIR,dev->base_addr);
dev288drivers/net/3c505.coutb_control(inb_control(dev->base_addr)&~ATTN,dev->base_addr);
dev292drivers/net/3c505.coutb_control(inb_control(dev->base_addr)|FLSH,dev->base_addr);
dev296drivers/net/3c505.coutb_control(inb_control(dev->base_addr)&~FLSH,dev->base_addr);
dev301drivers/net/3c505.coutb_control(orig_hcr, dev->base_addr);
dev302drivers/net/3c505.cif (!start_receive(dev, &adapter->tx_pcb))
dev303drivers/net/3c505.cprintk("%s: start receive command failed \n", dev->name);
dev322drivers/net/3c505.csend_pcb (struct device * dev, pcb_struct * pcb)
dev333drivers/net/3c505.cset_hsf(dev->base_addr,0); 
dev334drivers/net/3c505.cif ((cont = WAIT_HCRE(dev->base_addr,5))) {
dev337drivers/net/3c505.coutb_control(inb_control(dev->base_addr)&~DIR,dev->base_addr);
dev338drivers/net/3c505.coutb_command(pcb->command, dev->base_addr);
dev340drivers/net/3c505.ccont = WAIT_HCRE(dev->base_addr,5);
dev344drivers/net/3c505.coutb_command(pcb->length, dev->base_addr);
dev345drivers/net/3c505.ccont = WAIT_HCRE(dev->base_addr,5);
dev350drivers/net/3c505.coutb_command(pcb->data.raw[i], dev->base_addr);
dev351drivers/net/3c505.ccont = wait_fast_hcre(dev->base_addr,20000,__LINE__);
dev358drivers/net/3c505.cset_hsf(dev->base_addr,HSF_PCB_END);
dev359drivers/net/3c505.coutb_command(2+pcb->length, dev->base_addr);
dev363drivers/net/3c505.ci = GET_ASF(dev->base_addr);
dev373drivers/net/3c505.cprintk("%s: PCB send was NAKed\n", dev->name);
dev375drivers/net/3c505.cprintk("%s: timeout after sending PCB\n", dev->name);
dev379drivers/net/3c505.cprintk("%s: timeout in middle of sending PCB\n", dev->name);
dev382drivers/net/3c505.cadapter_reset(dev);
dev400drivers/net/3c505.creceive_pcb (struct device * dev, pcb_struct * pcb)
dev408drivers/net/3c505.cCHECK_NULL(dev);
dev410drivers/net/3c505.cset_hsf(dev->base_addr,0);
dev414drivers/net/3c505.cwhile (((stat = get_status(dev->base_addr))&ACRF) == 0 && jiffies < timeout)
dev421drivers/net/3c505.cpcb->command = inb_command(dev->base_addr);
dev425drivers/net/3c505.cwhile (((stat = get_status(dev->base_addr)) & ACRF) == 0 && jiffies < timeout)
dev431drivers/net/3c505.cpcb->length = inb_command(dev->base_addr);
dev435drivers/net/3c505.cadapter_reset(dev);
dev444drivers/net/3c505.cwhile (((stat = get_status(dev->base_addr))&ACRF) == 0 && j++ < 20000)
dev446drivers/net/3c505.cpcb->data.raw[i++] = inb_command(dev->base_addr);
dev462drivers/net/3c505.cprintk("%s: mangled PCB received\n", dev->name);
dev463drivers/net/3c505.cset_hsf(dev->base_addr,HSF_PCB_NAK);
dev467drivers/net/3c505.cset_hsf(dev->base_addr,HSF_PCB_ACK);
dev473drivers/net/3c505.cadapter_hard_reset (struct device * dev)
dev478drivers/net/3c505.cCHECK_NULL(dev);
dev485drivers/net/3c505.cdev->name);
dev489drivers/net/3c505.coutb_control(ATTN|FLSH, dev->base_addr);
dev500drivers/net/3c505.coutb_control(0, dev->base_addr);
dev512drivers/net/3c505.cif (GET_ASF(dev->base_addr) != ASF_PCB_END)
dev525drivers/net/3c505.cstart_receive (struct device * dev, pcb_struct * tx_pcb)
dev527drivers/net/3c505.cCHECK_NULL(dev);
dev531drivers/net/3c505.cprintk("%s: restarting receiver\n", dev->name);
dev538drivers/net/3c505.creturn send_pcb(dev, tx_pcb); 
dev551drivers/net/3c505.creceive_packet (struct device * dev, int len)
dev560drivers/net/3c505.cCHECK_NULL(dev);
dev561drivers/net/3c505.cadapter=dev->priv;
dev578drivers/net/3c505.coutb_control(inb_control(dev->base_addr)|DIR, dev->base_addr);
dev586drivers/net/3c505.cwhile ((inb_status(dev->base_addr)&HRDY) == 0 && timeout++ < 20000)
dev594drivers/net/3c505.cinw_data(dev->base_addr);
dev600drivers/net/3c505.cskb->dev = dev;
dev608drivers/net/3c505.cwhile ((inb_status(dev->base_addr)&HRDY) == 0 && timeout++ < 20000) 
dev618drivers/net/3c505.c*ptr = inw_data(dev->base_addr); 
dev623drivers/net/3c505.cskb->protocol=eth_type_trans(skb,dev);
dev627drivers/net/3c505.coutb_control(inb_control(dev->base_addr)&~DIR, dev->base_addr);
dev642drivers/net/3c505.cstruct device *dev;
dev651drivers/net/3c505.cdev = irq2dev_map[irq];
dev653drivers/net/3c505.cif (dev == NULL) {
dev658drivers/net/3c505.cadapter = (elp_device *) dev->priv;
dev662drivers/net/3c505.cif (dev->interrupt)
dev664drivers/net/3c505.cprintk("%s: Re-entering the interrupt handler.\n", dev->name);
dev665drivers/net/3c505.cdev->interrupt = 1;
dev676drivers/net/3c505.cwhile ((inb_status(dev->base_addr)&ACRF) != 0 && jiffies < timeout) {
dev678drivers/net/3c505.cif (receive_pcb(dev, &adapter->irx_pcb)) {
dev687drivers/net/3c505.cif (dev->start == 0)
dev691drivers/net/3c505.coutb_control(inb_control(dev->base_addr)|DIR,
dev692drivers/net/3c505.cdev->base_addr);
dev696drivers/net/3c505.cprintk("%s: interrupt - packet not received correctly\n", dev->name);
dev701drivers/net/3c505.cprintk("%s: interrupt - packet received of length %i (%i)\n", dev->name, len, dlen);
dev704drivers/net/3c505.creceive_packet(dev, dlen);
dev707drivers/net/3c505.cprintk("%s: packet received\n", dev->name);
dev709drivers/net/3c505.cif (dev->start && !start_receive(dev, &adapter->itx_pcb)) 
dev711drivers/net/3c505.cprintk("%s: interrupt - failed to send receive start PCB\n", dev->name);
dev713drivers/net/3c505.cprintk("%s: receive procedure complete\n", dev->name);
dev723drivers/net/3c505.cprintk("%s: interrupt - configure response received\n", dev->name);
dev732drivers/net/3c505.cprintk("%s: Adapter memory configuration %s.\n",dev->name,
dev742drivers/net/3c505.cprintk("%s: Multicast address list loading %s.\n",dev->name,
dev752drivers/net/3c505.cprintk("%s: Ethernet address setting %s.\n",dev->name,
dev768drivers/net/3c505.cprintk("%s: interrupt - statistics response received\n", dev->name);
dev776drivers/net/3c505.cprintk("%s: interrupt - packet sent\n", dev->name);
dev777drivers/net/3c505.cif (dev->start == 0)
dev782drivers/net/3c505.cdev->name, adapter->irx_pcb.data.xmit_resp.c_stat);
dev783drivers/net/3c505.cdev->tbusy = 0;
dev791drivers/net/3c505.cprintk("%s: unknown PCB received - %2.2x\n", dev->name, adapter->irx_pcb.command);
dev795drivers/net/3c505.cprintk("%s: failed to read PCB on interrupt\n", dev->name);
dev796drivers/net/3c505.cadapter_reset(dev);
dev803drivers/net/3c505.cdev->interrupt = 0;
dev814drivers/net/3c505.celp_open (struct device *dev)
dev818drivers/net/3c505.cCHECK_NULL(dev);
dev820drivers/net/3c505.cadapter = dev->priv;
dev823drivers/net/3c505.cprintk("%s: request to open device\n", dev->name);
dev829drivers/net/3c505.cprintk("%s: Opening a non-existent physical device\n", dev->name);
dev836drivers/net/3c505.coutb_control(0x00, dev->base_addr);
dev841drivers/net/3c505.cinb_command(dev->base_addr);
dev842drivers/net/3c505.cadapter_reset(dev);
dev847drivers/net/3c505.cdev->interrupt = 0;
dev852drivers/net/3c505.cdev->tbusy = 0;
dev857drivers/net/3c505.cirq2dev_map[dev->irq] = dev;
dev862drivers/net/3c505.cif (request_irq(dev->irq, &elp_interrupt, 0, "3c505")) {
dev863drivers/net/3c505.cirq2dev_map[dev->irq] = NULL;
dev870drivers/net/3c505.coutb_control(CMDE, dev->base_addr);
dev875drivers/net/3c505.cdev->start = 1;
dev881drivers/net/3c505.cprintk("%s: sending 3c505 memory configuration command\n", dev->name);
dev891drivers/net/3c505.cif (!send_pcb(dev, &adapter->tx_pcb))
dev892drivers/net/3c505.cprintk("%s: couldn't send memory configuration command\n", dev->name);
dev906drivers/net/3c505.cprintk("%s: sending 82586 configure command\n", dev->name);
dev911drivers/net/3c505.cif (!send_pcb(dev, &adapter->tx_pcb))
dev912drivers/net/3c505.cprintk("%s: couldn't send 82586 configure command\n", dev->name);
dev924drivers/net/3c505.cif (!start_receive(dev, &adapter->tx_pcb))
dev925drivers/net/3c505.cprintk("%s: start receive command failed \n", dev->name);
dev927drivers/net/3c505.cprintk("%s: start receive command sent\n", dev->name);
dev942drivers/net/3c505.csend_packet (struct device * dev, unsigned char * ptr, int len)
dev953drivers/net/3c505.cCHECK_NULL(dev);
dev956drivers/net/3c505.cadapter = dev->priv;
dev970drivers/net/3c505.cif (!send_pcb(dev, &adapter->tx_pcb)) {
dev979drivers/net/3c505.cwhile (((inb_status(dev->base_addr)&HRDY) == 0)
dev985drivers/net/3c505.cdev->name,filename,__LINE__, i, nlen/2);
dev989drivers/net/3c505.coutw_data(*(short *)ptr, dev->base_addr);
dev1005drivers/net/3c505.celp_start_xmit (struct sk_buff *skb, struct device *dev)
dev1007drivers/net/3c505.cCHECK_NULL(dev);
dev1013drivers/net/3c505.cdev_tint(dev);
dev1024drivers/net/3c505.cprintk("%s: request to send packet of length %d\n", dev->name, (int)skb->len);
dev1029drivers/net/3c505.cif (dev->tbusy) {
dev1030drivers/net/3c505.cint tickssofar = jiffies - dev->trans_start;
dev1034drivers/net/3c505.cprintk("%s: transmit timed out, not resetting adapter\n", dev->name);
dev1035drivers/net/3c505.cif (((stat=inb_status(dev->base_addr))&ACRF) != 0) 
dev1036drivers/net/3c505.cprintk("%s: hmmm...seemed to have missed an interrupt!\n", dev->name);
dev1037drivers/net/3c505.cprintk("%s: status %#02x\n", dev->name, stat);
dev1038drivers/net/3c505.cdev->trans_start = jiffies;
dev1039drivers/net/3c505.cdev->tbusy = 0;
dev1045drivers/net/3c505.cif (!send_packet(dev, skb->data, skb->len)) {
dev1046drivers/net/3c505.cprintk("%s: send packet PCB failed\n", dev->name);
dev1051drivers/net/3c505.cprintk("%s: packet of length %d sent\n", dev->name, (int)skb->len);
dev1057drivers/net/3c505.cdev->trans_start = jiffies;
dev1062drivers/net/3c505.cdev->tbusy = 1;
dev1079drivers/net/3c505.celp_get_stats (struct device *dev)
dev1081drivers/net/3c505.celp_device *adapter = (elp_device *) dev->priv;
dev1084drivers/net/3c505.cprintk("%s: request for stats\n", dev->name);
dev1088drivers/net/3c505.cif (!dev->start)
dev1095drivers/net/3c505.cif (!send_pcb(dev, &adapter->tx_pcb))
dev1096drivers/net/3c505.cprintk("%s: couldn't send get statistics command\n", dev->name);
dev1118drivers/net/3c505.celp_close (struct device *dev)
dev1122drivers/net/3c505.cCHECK_NULL(dev);
dev1123drivers/net/3c505.cadapter = dev->priv;
dev1127drivers/net/3c505.cprintk("%s: request to close device\n", dev->name);
dev1133drivers/net/3c505.c(void) elp_get_stats(dev);
dev1138drivers/net/3c505.coutb_control(0x00, dev->base_addr);
dev1143drivers/net/3c505.cdev->tbusy = 1;
dev1148drivers/net/3c505.cdev->start = 0;
dev1153drivers/net/3c505.cfree_irq(dev->irq);
dev1158drivers/net/3c505.cirq2dev_map[dev->irq] = 0;
dev1176drivers/net/3c505.celp_set_mc_list (struct device *dev)
dev1178drivers/net/3c505.celp_device *adapter = (elp_device *) dev->priv;
dev1179drivers/net/3c505.cstruct dev_mc_list *dmi=dev->mc_list;
dev1183drivers/net/3c505.cprintk("%s: request to set multicast list\n", dev->name);
dev1185drivers/net/3c505.cif (!(dev->flags&(IFF_PROMISC|IFF_ALLMULTI)))
dev1190drivers/net/3c505.cadapter->tx_pcb.length  = 6*dev->mc_count;
dev1191drivers/net/3c505.cfor (i=0;i<dev->mc_count;i++)
dev1197drivers/net/3c505.cif (!send_pcb(dev, &adapter->tx_pcb))
dev1198drivers/net/3c505.cprintk("%s: couldn't send set_multicast command\n", dev->name);
dev1207drivers/net/3c505.cif (dev->mc_count)
dev1219drivers/net/3c505.cprintk("%s: sending 82586 configure command\n", dev->name);
dev1223drivers/net/3c505.cif (!send_pcb(dev, &adapter->tx_pcb))
dev1224drivers/net/3c505.cprintk("%s: couldn't send 82586 configure command\n", dev->name);
dev1241drivers/net/3c505.celp_init (struct device *dev)
dev1245drivers/net/3c505.cCHECK_NULL(dev);
dev1250drivers/net/3c505.cdev->open = elp_open;  /* local */
dev1251drivers/net/3c505.cdev->stop = elp_close;  /* local */
dev1252drivers/net/3c505.cdev->get_stats = elp_get_stats;  /* local */
dev1253drivers/net/3c505.cdev->hard_start_xmit = elp_start_xmit;  /* local */
dev1254drivers/net/3c505.cdev->set_multicast_list = elp_set_mc_list;  /* local */
dev1257drivers/net/3c505.cether_setup(dev);
dev1262drivers/net/3c505.cadapter = (elp_device *)(dev->priv = kmalloc(sizeof(elp_device), GFP_KERNEL));
dev1271drivers/net/3c505.cdev->mem_start = dev->mem_end = dev->rmem_end = dev->rmem_start = 0;
dev1281drivers/net/3c505.celp_sense (struct device * dev)
dev1284drivers/net/3c505.cint addr=dev->base_addr;
dev1285drivers/net/3c505.cconst char *name=dev->name;
dev1347drivers/net/3c505.cadapter_hard_reset(dev);
dev1358drivers/net/3c505.celp_autodetect (struct device * dev)
dev1364drivers/net/3c505.cif (dev->base_addr != 0) { /* dev->base_addr == 0 ==> plain autodetect */
dev1365drivers/net/3c505.cif (elp_sense(dev) == 0)
dev1366drivers/net/3c505.creturn dev->base_addr;
dev1367drivers/net/3c505.c} else while ( (dev->base_addr=addr_list[idx++]) ) {
dev1368drivers/net/3c505.cif (elp_sense(dev) == 0)
dev1369drivers/net/3c505.creturn dev->base_addr;
dev1374drivers/net/3c505.cprintk(couldnot_msg, dev->name);
dev1386drivers/net/3c505.celplus_probe (struct device *dev)
dev1391drivers/net/3c505.cCHECK_NULL(dev);
dev1397drivers/net/3c505.cdev->base_addr = elp_autodetect(dev);
dev1398drivers/net/3c505.cif ( !(dev->base_addr) )
dev1405drivers/net/3c505.coutb_control(inb_control(dev->base_addr) | CMDE, dev->base_addr);
dev1414drivers/net/3c505.cif (!send_pcb   (dev, &adapter.tx_pcb) ||
dev1415drivers/net/3c505.c!receive_pcb(dev, &adapter.rx_pcb) ||
dev1418drivers/net/3c505.cprintk("%s: not responding to first PCB\n", dev->name);
dev1422drivers/net/3c505.cif (dev->irq) { /* Is there a preset IRQ? */
dev1423drivers/net/3c505.cif (dev->irq != autoirq_report(0)) {
dev1424drivers/net/3c505.cprintk("%s: Detected IRQ doesn't match user-defined one.\n",dev->name);
dev1429drivers/net/3c505.cdev->irq=autoirq_report(0);
dev1430drivers/net/3c505.cswitch (dev->irq) { /* Legal, sane? */
dev1432drivers/net/3c505.cprintk("%s: No IRQ reported by autoirq_report().\n",dev->name);
dev1433drivers/net/3c505.cprintk("%s: Check the jumpers of your 3c505 board.\n",dev->name);
dev1440drivers/net/3c505.cdev->name, dev->irq);
dev1447drivers/net/3c505.coutb_control(inb_control(dev->base_addr) & ~CMDE, dev->base_addr);
dev1453drivers/net/3c505.cdev->dev_addr[i] = adapter.rx_pcb.data.eth_addr[i];
dev1460drivers/net/3c505.cdev->name, dev->base_addr, dev->irq,
dev1461drivers/net/3c505.cdev->dev_addr[0], dev->dev_addr[1], dev->dev_addr[2],
dev1462drivers/net/3c505.cdev->dev_addr[3], dev->dev_addr[4], dev->dev_addr[5]);
dev1467drivers/net/3c505.crequest_region(dev->base_addr, ELP_IO_EXTENT, "3c505");
dev1472drivers/net/3c505.celp_init(dev);
dev162drivers/net/3c507.c#define SCB_BASE    ((unsigned)64*1024 - (dev->mem_end - dev->mem_start))
dev197drivers/net/3c507.c#define RX_BUF_END    (dev->mem_end - dev->mem_start)
dev278drivers/net/3c507.cextern int el16_probe(struct device *dev);  /* Called from Space.c */
dev280drivers/net/3c507.cstatic int  el16_probe1(struct device *dev, int ioaddr);
dev281drivers/net/3c507.cstatic int  el16_open(struct device *dev);
dev282drivers/net/3c507.cstatic int  el16_send_packet(struct sk_buff *skb, struct device *dev);
dev284drivers/net/3c507.cstatic void el16_rx(struct device *dev);
dev285drivers/net/3c507.cstatic int  el16_close(struct device *dev);
dev286drivers/net/3c507.cstatic struct enet_statistics *el16_get_stats(struct device *dev);
dev288drivers/net/3c507.cstatic void hardware_send_packet(struct device *dev, void *buf, short length);
dev289drivers/net/3c507.cvoid init_82586_mem(struct device *dev);
dev304drivers/net/3c507.cel16_probe(struct device *dev)
dev306drivers/net/3c507.cint base_addr = dev ? dev->base_addr : 0;
dev310drivers/net/3c507.creturn el16_probe1(dev, base_addr);
dev318drivers/net/3c507.cif (el16_probe1(dev, ioaddr) == 0)
dev325drivers/net/3c507.cint el16_probe1(struct device *dev, int ioaddr)
dev351drivers/net/3c507.cif (dev == NULL)
dev352drivers/net/3c507.cdev = init_etherdev(0, sizeof(struct net_local));
dev357drivers/net/3c507.cprintk("%s: 3c507 at %#x,", dev->name, ioaddr);
dev372drivers/net/3c507.cdev->base_addr = ioaddr;
dev376drivers/net/3c507.cdev->dev_addr[i] = inb(ioaddr + i);
dev377drivers/net/3c507.cprintk(" %02x", dev->dev_addr[i]);
dev380drivers/net/3c507.cif ((dev->mem_start & 0xf) > 0)
dev381drivers/net/3c507.cnet_debug = dev->mem_start & 7;
dev384drivers/net/3c507.cdev->mem_start = MEM_BASE;
dev385drivers/net/3c507.cdev->mem_end = dev->mem_start + 0x10000;
dev399drivers/net/3c507.cdev->mem_start = base;
dev400drivers/net/3c507.cdev->mem_end = base + size;
dev404drivers/net/3c507.cdev->if_port = (inb(ioaddr + ROM_CONFIG) & 0x80) ? 1 : 0;
dev405drivers/net/3c507.cdev->irq = inb(ioaddr + IRQ_CONFIG) & 0x0f;
dev407drivers/net/3c507.cprintk(", IRQ %d, %sternal xcvr, memory %#lx-%#lx.\n", dev->irq,
dev408drivers/net/3c507.cdev->if_port ? "ex" : "in", dev->mem_start, dev->mem_end-1);
dev414drivers/net/3c507.cdev->priv = kmalloc(sizeof(struct net_local), GFP_KERNEL);
dev415drivers/net/3c507.cif (dev->priv == NULL)
dev417drivers/net/3c507.cmemset(dev->priv, 0, sizeof(struct net_local));
dev419drivers/net/3c507.cdev->open    = el16_open;
dev420drivers/net/3c507.cdev->stop    = el16_close;
dev421drivers/net/3c507.cdev->hard_start_xmit = el16_send_packet;
dev422drivers/net/3c507.cdev->get_stats  = el16_get_stats;
dev424drivers/net/3c507.cether_setup(dev);  /* Generic ethernet behaviour */
dev426drivers/net/3c507.cdev->flags&=~IFF_MULTICAST;  /* Multicast doesn't work */
dev434drivers/net/3c507.cel16_open(struct device *dev)
dev436drivers/net/3c507.cirq2dev_map[dev->irq] = dev;
dev439drivers/net/3c507.cinit_82586_mem(dev);
dev441drivers/net/3c507.cdev->tbusy = 0;
dev442drivers/net/3c507.cdev->interrupt = 0;
dev443drivers/net/3c507.cdev->start = 1;
dev451drivers/net/3c507.cel16_send_packet(struct sk_buff *skb, struct device *dev)
dev453drivers/net/3c507.cstruct net_local *lp = (struct net_local *)dev->priv;
dev454drivers/net/3c507.cint ioaddr = dev->base_addr;
dev455drivers/net/3c507.cshort *shmem = (short*)dev->mem_start;
dev457drivers/net/3c507.cif (dev->tbusy) {
dev460drivers/net/3c507.cint tickssofar = jiffies - dev->trans_start;
dev464drivers/net/3c507.cprintk("%s: transmit timed out, %s?  ", dev->name,
dev471drivers/net/3c507.cinit_82586_mem(dev);
dev479drivers/net/3c507.cdev->tbusy=0;
dev480drivers/net/3c507.cdev->trans_start = jiffies;
dev487drivers/net/3c507.cdev_tint(dev);
dev492drivers/net/3c507.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev493drivers/net/3c507.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev500drivers/net/3c507.chardware_send_packet(dev, buf, length);
dev501drivers/net/3c507.cdev->trans_start = jiffies;
dev518drivers/net/3c507.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev524drivers/net/3c507.cif (dev == NULL) {
dev528drivers/net/3c507.cdev->interrupt = 1;
dev530drivers/net/3c507.cioaddr = dev->base_addr;
dev531drivers/net/3c507.clp = (struct net_local *)dev->priv;
dev532drivers/net/3c507.cshmem = ((ushort*)dev->mem_start);
dev537drivers/net/3c507.cprintk("%s: 3c507 interrupt, status %4.4x.\n", dev->name, status);
dev554drivers/net/3c507.cdev->tbusy = 0;
dev575drivers/net/3c507.cel16_rx(dev);
dev581drivers/net/3c507.cif ((status & 0x0700) != 0x0200 && dev->start) {
dev584drivers/net/3c507.cdev->name, status);
dev591drivers/net/3c507.cif ((status & 0x0070) != 0x0040  &&  dev->start) {
dev597drivers/net/3c507.cdev->name, status);
dev598drivers/net/3c507.cinit_rx_bufs(dev);
dev616drivers/net/3c507.cel16_close(struct device *dev)
dev618drivers/net/3c507.cint ioaddr = dev->base_addr;
dev619drivers/net/3c507.cushort *shmem = (short*)dev->mem_start;
dev621drivers/net/3c507.cdev->tbusy = 1;
dev622drivers/net/3c507.cdev->start = 0;
dev634drivers/net/3c507.cirq2dev_map[dev->irq] = 0;
dev646drivers/net/3c507.cel16_get_stats(struct device *dev)
dev648drivers/net/3c507.cstruct net_local *lp = (struct net_local *)dev->priv;
dev657drivers/net/3c507.cinit_rx_bufs(struct device *dev)
dev659drivers/net/3c507.cstruct net_local *lp = (struct net_local *)dev->priv;
dev668drivers/net/3c507.cwrite_ptr = (unsigned short *)(dev->mem_start + cur_rxbuf);
dev696drivers/net/3c507.c(dev->mem_start + lp->rx_tail + 2);
dev703drivers/net/3c507.cinit_82586_mem(struct device *dev)
dev705drivers/net/3c507.cstruct net_local *lp = (struct net_local *)dev->priv;
dev706drivers/net/3c507.cshort ioaddr = dev->base_addr;
dev707drivers/net/3c507.cushort *shmem = (short*)dev->mem_start;
dev718drivers/net/3c507.cmemcpy((void*)dev->mem_end-10, init_words, 10);
dev721drivers/net/3c507.cmemcpy((char*)dev->mem_start, init_words + 5, sizeof(init_words) - 10);
dev724drivers/net/3c507.cmemcpy((char*)dev->mem_start+SA_OFFSET, dev->dev_addr,
dev725drivers/net/3c507.csizeof(dev->dev_addr));
dev731drivers/net/3c507.cinit_rx_bufs(dev);
dev745drivers/net/3c507.c"cmd %04x.\n", dev->name,
dev756drivers/net/3c507.cprintk("%s: Initialized 82586, status %04x.\n", dev->name,
dev762drivers/net/3c507.chardware_send_packet(struct device *dev, void *buf, short length)
dev764drivers/net/3c507.cstruct net_local *lp = (struct net_local *)dev->priv;
dev765drivers/net/3c507.cshort ioaddr = dev->base_addr;
dev767drivers/net/3c507.cushort *write_ptr =    (ushort *)(dev->mem_start + tx_block);
dev790drivers/net/3c507.c*(ushort*)(dev->mem_start + lp->tx_cmd_link) = tx_block;
dev800drivers/net/3c507.cdev->name, ioaddr, length, tx_block, lp->tx_head);
dev804drivers/net/3c507.cdev->tbusy = 0;
dev808drivers/net/3c507.cel16_rx(struct device *dev)
dev810drivers/net/3c507.cstruct net_local *lp = (struct net_local *)dev->priv;
dev811drivers/net/3c507.cshort *shmem = (short*)dev->mem_start;
dev818drivers/net/3c507.cushort *read_frame =  (short *)(dev->mem_start + rx_head);
dev822drivers/net/3c507.cushort *data_frame = (short *)(dev->mem_start + data_buffer_addr);
dev828drivers/net/3c507.c"next %04x data-buf @%04x %04x.\n", dev->name, rx_head,
dev846drivers/net/3c507.cprintk("%s: Memory squeeze, dropping packet.\n", dev->name);
dev852drivers/net/3c507.cskb->dev = dev;
dev857drivers/net/3c507.cskb->protocol=eth_type_trans(skb,dev);
dev866drivers/net/3c507.c*(short*)(dev->mem_start + rx_tail + 2) = 0x0000;
dev103drivers/net/3c509.cstatic int el3_open(struct device *dev);
dev104drivers/net/3c509.cstatic int el3_start_xmit(struct sk_buff *skb, struct device *dev);
dev106drivers/net/3c509.cstatic void update_stats(int addr, struct device *dev);
dev107drivers/net/3c509.cstatic struct enet_statistics *el3_get_stats(struct device *dev);
dev108drivers/net/3c509.cstatic int el3_rx(struct device *dev);
dev109drivers/net/3c509.cstatic int el3_close(struct device *dev);
dev110drivers/net/3c509.cstatic void set_multicast_list(struct device *dev);
dev114drivers/net/3c509.cint el3_probe(struct device *dev)
dev118drivers/net/3c509.cshort *phys_addr = (short *)dev->dev_addr;
dev212drivers/net/3c509.cif (dev->base_addr != 0
dev213drivers/net/3c509.c&&  dev->base_addr != (unsigned short)ioaddr) {
dev230drivers/net/3c509.cdev->base_addr = ioaddr;
dev231drivers/net/3c509.cdev->irq = irq;
dev232drivers/net/3c509.cdev->if_port = if_port;
dev233drivers/net/3c509.crequest_region(dev->base_addr, EL3_IO_EXTENT, "3c509");
dev238drivers/net/3c509.cdev->name, dev->base_addr, current_tag, if_names[dev->if_port]);
dev243drivers/net/3c509.cprintk(" %2.2x", dev->dev_addr[i]);
dev244drivers/net/3c509.cprintk(", IRQ %d.\n", dev->irq);
dev247drivers/net/3c509.cdev->priv = kmalloc(sizeof(struct el3_private), GFP_KERNEL);
dev248drivers/net/3c509.cif (dev->priv == NULL)
dev250drivers/net/3c509.cmemset(dev->priv, 0, sizeof(struct el3_private));
dev256drivers/net/3c509.cdev->open = &el3_open;
dev257drivers/net/3c509.cdev->hard_start_xmit = &el3_start_xmit;
dev258drivers/net/3c509.cdev->stop = &el3_close;
dev259drivers/net/3c509.cdev->get_stats = &el3_get_stats;
dev260drivers/net/3c509.cdev->set_multicast_list = &set_multicast_list;
dev263drivers/net/3c509.cether_setup(dev);
dev306drivers/net/3c509.cel3_open(struct device *dev)
dev308drivers/net/3c509.cint ioaddr = dev->base_addr;
dev315drivers/net/3c509.cif (request_irq(dev->irq, &el3_interrupt, 0, "3c509")) {
dev321drivers/net/3c509.cprintk("%s: Opening, IRQ %d   status@%x %4.4x.\n", dev->name,
dev322drivers/net/3c509.cdev->irq, ioaddr + EL3_STATUS, inw(ioaddr + EL3_STATUS));
dev327drivers/net/3c509.cirq2dev_map[dev->irq] = dev;
dev330drivers/net/3c509.coutw((dev->irq << 12) | 0x0f00, ioaddr + WN0_IRQ);
dev336drivers/net/3c509.coutb(dev->dev_addr[i], ioaddr + i);
dev338drivers/net/3c509.cif (dev->if_port == 3)
dev341drivers/net/3c509.celse if (dev->if_port == 0) {
dev362drivers/net/3c509.cdev->interrupt = 0;
dev363drivers/net/3c509.cdev->tbusy = 0;
dev364drivers/net/3c509.cdev->start = 1;
dev375drivers/net/3c509.cdev->name, dev->irq, inw(ioaddr + EL3_STATUS));
dev382drivers/net/3c509.cel3_start_xmit(struct sk_buff *skb, struct device *dev)
dev384drivers/net/3c509.cstruct el3_private *lp = (struct el3_private *)dev->priv;
dev385drivers/net/3c509.cint ioaddr = dev->base_addr;
dev388drivers/net/3c509.cif (dev->tbusy) {
dev389drivers/net/3c509.cint tickssofar = jiffies - dev->trans_start;
dev393drivers/net/3c509.cdev->name, inb(ioaddr + TX_STATUS), inw(ioaddr + EL3_STATUS));
dev394drivers/net/3c509.cdev->trans_start = jiffies;
dev398drivers/net/3c509.cdev->tbusy = 0;
dev402drivers/net/3c509.cdev_tint(dev);
dev411drivers/net/3c509.cdev->name, skb->len, inw(ioaddr + EL3_STATUS));
dev419drivers/net/3c509.c"  Tx %2.2x Rx %4.4x.\n", dev->name, status,
dev431drivers/net/3c509.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev432drivers/net/3c509.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev440drivers/net/3c509.cdev->trans_start = jiffies;
dev442drivers/net/3c509.cdev->tbusy = 0;
dev469drivers/net/3c509.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev473drivers/net/3c509.cif (dev == NULL) {
dev478drivers/net/3c509.cif (dev->interrupt)
dev479drivers/net/3c509.cprintk("%s: Re-entering the interrupt handler.\n", dev->name);
dev480drivers/net/3c509.cdev->interrupt = 1;
dev482drivers/net/3c509.cioaddr = dev->base_addr;
dev486drivers/net/3c509.cprintk("%s: interrupt, status %4.4x.\n", dev->name, status);
dev491drivers/net/3c509.cel3_rx(dev);
dev498drivers/net/3c509.cdev->tbusy = 0;
dev502drivers/net/3c509.cupdate_stats(ioaddr, dev);
dev506drivers/net/3c509.cdev->name, status);
dev517drivers/net/3c509.cprintk("%s: exiting interrupt, status %4.4x.\n", dev->name,
dev521drivers/net/3c509.cdev->interrupt = 0;
dev527drivers/net/3c509.cel3_get_stats(struct device *dev)
dev529drivers/net/3c509.cstruct el3_private *lp = (struct el3_private *)dev->priv;
dev534drivers/net/3c509.cupdate_stats(dev->base_addr, dev);
dev544drivers/net/3c509.cstatic void update_stats(int ioaddr, struct device *dev)
dev546drivers/net/3c509.cstruct el3_private *lp = (struct el3_private *)dev->priv;
dev573drivers/net/3c509.cel3_rx(struct device *dev)
dev575drivers/net/3c509.cstruct el3_private *lp = (struct el3_private *)dev->priv;
dev576drivers/net/3c509.cint ioaddr = dev->base_addr;
dev603drivers/net/3c509.cskb->dev = dev;
dev610drivers/net/3c509.cskb->protocol=eth_type_trans(skb,dev);
dev617drivers/net/3c509.cdev->name, pkt_len);
dev633drivers/net/3c509.cstatic void set_multicast_list(struct device *dev)
dev635drivers/net/3c509.cshort ioaddr = dev->base_addr;
dev638drivers/net/3c509.cif (old != dev->mc_count) {
dev639drivers/net/3c509.cold = dev->mc_count;
dev640drivers/net/3c509.cprintk("%s: Setting Rx mode to %d addresses.\n", dev->name, dev->mc_count);
dev643drivers/net/3c509.cif (dev->mc_count || (dev->flags&IFF_ALLMULTI)) 
dev647drivers/net/3c509.celse if (dev->flags&IFF_PROMISC) 
dev657drivers/net/3c509.cel3_close(struct device *dev)
dev659drivers/net/3c509.cint ioaddr = dev->base_addr;
dev662drivers/net/3c509.cprintk("%s: Shutting down ethercard.\n", dev->name);
dev664drivers/net/3c509.cdev->tbusy = 1;
dev665drivers/net/3c509.cdev->start = 0;
dev674drivers/net/3c509.cif (dev->if_port == 3)
dev677drivers/net/3c509.celse if (dev->if_port == 0) {
dev683drivers/net/3c509.cfree_irq(dev->irq);
dev690drivers/net/3c509.cirq2dev_map[dev->irq] = 0;
dev692drivers/net/3c509.cupdate_stats(ioaddr, dev);
dev103drivers/net/8390.cstatic void ei_tx_intr(struct device *dev);
dev104drivers/net/8390.cstatic void ei_receive(struct device *dev);
dev105drivers/net/8390.cstatic void ei_rx_overrun(struct device *dev);
dev108drivers/net/8390.cstatic void NS8390_trigger_send(struct device *dev, unsigned int length,
dev110drivers/net/8390.cstatic void set_multicast_list(struct device *dev);
dev117drivers/net/8390.cint ei_open(struct device *dev)
dev119drivers/net/8390.cstruct ei_device *ei_local = (struct ei_device *) dev->priv;
dev123drivers/net/8390.cprintk(KERN_EMERG "%s: ei_open passed a non-existent device!\n", dev->name);
dev127drivers/net/8390.cirq2dev_map[dev->irq] = dev;
dev128drivers/net/8390.cNS8390_init(dev, 1);
dev129drivers/net/8390.cdev->start = 1;
dev135drivers/net/8390.cint ei_close(struct device *dev)
dev137drivers/net/8390.cNS8390_init(dev, 0);
dev138drivers/net/8390.cdev->start = 0;
dev142drivers/net/8390.cstatic int ei_start_xmit(struct sk_buff *skb, struct device *dev)
dev144drivers/net/8390.cint e8390_base = dev->base_addr;
dev145drivers/net/8390.cstruct ei_device *ei_local = (struct ei_device *) dev->priv;
dev154drivers/net/8390.cif (dev->tbusy) {  /* Do timeouts, just like the 8003 driver. */
dev156drivers/net/8390.cint tickssofar = jiffies - dev->trans_start;
dev161drivers/net/8390.cif (dev->start == 0) {
dev162drivers/net/8390.cprintk("%s: xmit on stopped card\n", dev->name);
dev167drivers/net/8390.cdev->name, (txsr & ENTSR_ABT) ? "excess collisions." :
dev176drivers/net/8390.cei_reset_8390(dev);
dev177drivers/net/8390.cNS8390_init(dev, 1);
dev178drivers/net/8390.cdev->trans_start = jiffies;
dev185drivers/net/8390.cdev_tint(dev);
dev195drivers/net/8390.cif (dev->interrupt) {
dev196drivers/net/8390.cprintk("%s: Tx request while isr active.\n",dev->name);
dev211drivers/net/8390.cdev->name, ei_local->tx2, ei_local->lasttx,
dev218drivers/net/8390.cdev->name, ei_local->tx1, ei_local->lasttx,
dev223drivers/net/8390.cdev->name, dev->interrupt, ei_local->tx1, 
dev226drivers/net/8390.cdev->tbusy = 1;
dev230drivers/net/8390.cei_block_output(dev, length, skb->data, output_page);
dev233drivers/net/8390.cNS8390_trigger_send(dev, send_length, output_page);
dev234drivers/net/8390.cdev->trans_start = jiffies;
dev242drivers/net/8390.cdev->tbusy = (ei_local->tx1  &&  ei_local->tx2);
dev244drivers/net/8390.cei_block_output(dev, length, skb->data, ei_local->tx_start_page);
dev246drivers/net/8390.cNS8390_trigger_send(dev, send_length, ei_local->tx_start_page);
dev247drivers/net/8390.cdev->trans_start = jiffies;
dev248drivers/net/8390.cdev->tbusy = 1;
dev264drivers/net/8390.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev269drivers/net/8390.cif (dev == NULL) {
dev273drivers/net/8390.ce8390_base = dev->base_addr;
dev274drivers/net/8390.cei_local = (struct ei_device *) dev->priv;
dev275drivers/net/8390.cif (dev->interrupt || ei_local->irqlock) {
dev280drivers/net/8390.cdev->name, inb_p(e8390_base + EN0_ISR),
dev285drivers/net/8390.cdev->interrupt = 1;
dev290drivers/net/8390.cprintk("%s: interrupt(isr=%#2.2x).\n", dev->name,
dev296drivers/net/8390.cif (dev->start == 0) {
dev297drivers/net/8390.cprintk("%s: interrupt from stopped card\n", dev->name);
dev302drivers/net/8390.cei_rx_overrun(dev);
dev305drivers/net/8390.cei_receive(dev);
dev309drivers/net/8390.cei_tx_intr(dev);
dev334drivers/net/8390.cdev->name, interrupts);
dev337drivers/net/8390.cprintk("%s: unknown interrupt %#2x\n", dev->name, interrupts);
dev341drivers/net/8390.cdev->interrupt = 0;
dev347drivers/net/8390.cstatic void ei_tx_intr(struct device *dev)
dev349drivers/net/8390.cint e8390_base = dev->base_addr;
dev351drivers/net/8390.cstruct ei_device *ei_local = (struct ei_device *) dev->priv;
dev362drivers/net/8390.cdev->tbusy = 0;
dev365drivers/net/8390.cNS8390_trigger_send(dev, ei_local->tx2, ei_local->tx_start_page + 6);
dev366drivers/net/8390.cdev->trans_start = jiffies;
dev376drivers/net/8390.cdev->tbusy = 0;
dev379drivers/net/8390.cNS8390_trigger_send(dev, ei_local->tx1, ei_local->tx_start_page);
dev380drivers/net/8390.cdev->trans_start = jiffies;
dev387drivers/net/8390.cdev->name, ei_local->lasttx);
dev390drivers/net/8390.cdev->tbusy = 0;
dev411drivers/net/8390.cstatic void ei_receive(struct device *dev)
dev413drivers/net/8390.cint e8390_base = dev->base_addr;
dev414drivers/net/8390.cstruct ei_device *ei_local = (struct ei_device *) dev->priv;
dev437drivers/net/8390.cdev->name, this_frame, ei_local->current_page);
dev443drivers/net/8390.cei_get_8390_hdr(dev, &rx_frame, this_frame);
dev465drivers/net/8390.cdev->name, rx_frame.count, rx_frame.status,
dev475drivers/net/8390.cdev->name, pkt_len);
dev480drivers/net/8390.cskb->dev = dev;
dev482drivers/net/8390.cei_block_input(dev, pkt_len, skb, current_offset + sizeof(rx_frame));
dev483drivers/net/8390.cskb->protocol=eth_type_trans(skb,dev);
dev491drivers/net/8390.cdev->name, rx_frame.status, rx_frame.next,
dev500drivers/net/8390.cprintk("%s: next frame inconsistency, %#2x\n", dev->name,
dev522drivers/net/8390.cstatic void ei_rx_overrun(struct device *dev)
dev524drivers/net/8390.cint e8390_base = dev->base_addr;
dev526drivers/net/8390.cstruct ei_device *ei_local = (struct ei_device *) dev->priv;
dev532drivers/net/8390.cprintk("%s: Receiver overrun.\n", dev->name);
dev545drivers/net/8390.cdev->name);
dev546drivers/net/8390.cNS8390_init(dev, 1);
dev551drivers/net/8390.cei_receive(dev);
dev559drivers/net/8390.cstatic struct enet_statistics *get_stats(struct device *dev)
dev561drivers/net/8390.cshort ioaddr = dev->base_addr;
dev562drivers/net/8390.cstruct ei_device *ei_local = (struct ei_device *) dev->priv;
dev565drivers/net/8390.cif (dev->start == 0) return &ei_local->stat;
dev579drivers/net/8390.cstatic void set_multicast_list(struct device *dev)
dev581drivers/net/8390.cshort ioaddr = dev->base_addr;
dev583drivers/net/8390.cif(dev->flags&IFF_PROMISC)
dev587drivers/net/8390.celse if((dev->flags&IFF_ALLMULTI)||dev->mc_list)
dev598drivers/net/8390.cint ethdev_init(struct device *dev)
dev603drivers/net/8390.cif (dev->priv == NULL) {
dev606drivers/net/8390.cdev->priv = kmalloc(sizeof(struct ei_device), GFP_KERNEL);
dev607drivers/net/8390.cif (dev->priv == NULL)
dev609drivers/net/8390.cmemset(dev->priv, 0, sizeof(struct ei_device));
dev610drivers/net/8390.cei_local = (struct ei_device *)dev->priv;
dev614drivers/net/8390.cdev->hard_start_xmit = &ei_start_xmit;
dev615drivers/net/8390.cdev->get_stats  = get_stats;
dev617drivers/net/8390.cdev->set_multicast_list = &set_multicast_list;
dev620drivers/net/8390.cether_setup(dev);
dev628drivers/net/8390.cvoid NS8390_init(struct device *dev, int startp)
dev630drivers/net/8390.cint e8390_base = dev->base_addr;
dev631drivers/net/8390.cstruct ei_device *ei_local = (struct ei_device *) dev->priv;
dev662drivers/net/8390.coutb_p(dev->dev_addr[i], e8390_base + EN1_PHYS + i);
dev672drivers/net/8390.cdev->tbusy = 0;
dev673drivers/net/8390.cdev->interrupt = 0;
dev683drivers/net/8390.cdev->set_multicast_list(dev);    /* Get the multicast status right if this
dev690drivers/net/8390.cstatic void NS8390_trigger_send(struct device *dev, unsigned int length,
dev693drivers/net/8390.cint e8390_base = dev->base_addr;
dev699drivers/net/8390.cdev->name);
dev31drivers/net/8390.hextern int ethif_init(struct device *dev);
dev32drivers/net/8390.hextern int ethdev_init(struct device *dev);
dev33drivers/net/8390.hextern void NS8390_init(struct device *dev, int startp);
dev34drivers/net/8390.hextern int ei_open(struct device *dev);
dev35drivers/net/8390.hextern int ei_close(struct device *dev);
dev79drivers/net/8390.h#define ei_status (*(struct ei_device *)(dev->priv))
dev41drivers/net/Space.cextern int hp100_probe(struct device *dev);
dev42drivers/net/Space.cextern int ultra_probe(struct device *dev);
dev43drivers/net/Space.cextern int wd_probe(struct device *dev);
dev44drivers/net/Space.cextern int el2_probe(struct device *dev);
dev45drivers/net/Space.cextern int ne_probe(struct device *dev);
dev46drivers/net/Space.cextern int hp_probe(struct device *dev);
dev47drivers/net/Space.cextern int hp_plus_probe(struct device *dev);
dev78drivers/net/Space.cethif_probe(struct device *dev)
dev80drivers/net/Space.cu_long base_addr = dev->base_addr;
dev87drivers/net/Space.c&& seeq8005_probe(dev)
dev90drivers/net/Space.c&& hp100_probe(dev)
dev93drivers/net/Space.c&& ultra_probe(dev)
dev96drivers/net/Space.c&& wd_probe(dev)
dev99drivers/net/Space.c&& el2_probe(dev)
dev102drivers/net/Space.c&& hp_probe(dev)
dev105drivers/net/Space.c&& hp_plus_probe(dev)
dev108drivers/net/Space.c&& ac3200_probe(dev)
dev111drivers/net/Space.c&& e2100_probe(dev)
dev114drivers/net/Space.c&& ne_probe(dev)
dev117drivers/net/Space.c&& at1500_probe(dev)
dev120drivers/net/Space.c&& at1700_probe(dev)
dev123drivers/net/Space.c&& eth16i_probe(dev)  /* ICL EtherTeam 16i/32 */
dev126drivers/net/Space.c&& el3_probe(dev)
dev129drivers/net/Space.c&& znet_probe(dev)
dev132drivers/net/Space.c&& express_probe(dev)
dev135drivers/net/Space.c&& eepro_probe(dev)
dev138drivers/net/Space.c&& depca_probe(dev)
dev141drivers/net/Space.c&& ewrk3_probe(dev)
dev144drivers/net/Space.c&& de4x5_probe(dev)
dev147drivers/net/Space.c&& apricot_probe(dev)
dev150drivers/net/Space.c&& el1_probe(dev)
dev153drivers/net/Space.c&& wavelan_probe(dev)
dev156drivers/net/Space.c&& el16_probe(dev)
dev159drivers/net/Space.c&& elplus_probe(dev)
dev162drivers/net/Space.c&& de600_probe(dev)
dev165drivers/net/Space.c&& de620_probe(dev)
dev168drivers/net/Space.c&& SK_init(dev)
dev171drivers/net/Space.c&& ni52_probe(dev)
dev174drivers/net/Space.c&& ni65_probe(dev)
dev204drivers/net/Space.cextern int arcnet_probe(struct device *dev);
dev266drivers/net/Space.cextern int dummy_init(struct device *dev);
dev274drivers/net/Space.cextern int eql_init(struct device *dev);
dev291drivers/net/Space.cextern int tok_probe(struct device *dev);
dev361drivers/net/Space.cextern int loopback_init(struct device *dev);
dev70drivers/net/ac3200.cint ac3200_probe(struct device *dev);
dev71drivers/net/ac3200.cstatic int ac_probe1(int ioaddr, struct device *dev);
dev73drivers/net/ac3200.cstatic int ac_open(struct device *dev);
dev74drivers/net/ac3200.cstatic void ac_reset_8390(struct device *dev);
dev75drivers/net/ac3200.cstatic void ac_block_input(struct device *dev, int count,
dev77drivers/net/ac3200.cstatic void ac_block_output(struct device *dev, const int count,
dev79drivers/net/ac3200.cstatic void ac_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr,
dev82drivers/net/ac3200.cstatic int ac_close_card(struct device *dev);
dev91drivers/net/ac3200.cint ac3200_probe(struct device *dev)
dev93drivers/net/ac3200.cunsigned short ioaddr = dev->base_addr;
dev96drivers/net/ac3200.creturn ac_probe1(ioaddr, dev);
dev107drivers/net/ac3200.cif (ac_probe1(ioaddr, dev) == 0)
dev114drivers/net/ac3200.cstatic int ac_probe1(int ioaddr, struct device *dev)
dev146drivers/net/ac3200.cif (dev == NULL) {
dev148drivers/net/ac3200.cdev = init_etherdev(0, 0);
dev152drivers/net/ac3200.cdev->dev_addr[i] = inb(ioaddr + AC_SA_PROM + i);
dev162drivers/net/ac3200.cif (dev->irq == 0)
dev163drivers/net/ac3200.cdev->irq = config2irq(inb(ioaddr + AC_CONFIG));
dev164drivers/net/ac3200.celse if (dev->irq == 2)
dev165drivers/net/ac3200.cdev->irq = 9;
dev167drivers/net/ac3200.cif (request_irq(dev->irq, ei_interrupt, 0, "ac3200")) {
dev168drivers/net/ac3200.cprintk (" unable to get IRQ %d.\n", dev->irq);
dev173drivers/net/ac3200.cif (ethdev_init(dev)) {
dev175drivers/net/ac3200.cfree_irq(dev->irq);
dev181drivers/net/ac3200.cdev->base_addr = ioaddr;
dev184drivers/net/ac3200.cif (dev->mem_start)  {    /* Override the value from the board. */
dev186drivers/net/ac3200.cif (addrmap[i] == dev->mem_start)
dev194drivers/net/ac3200.cdev->if_port = inb(ioaddr + AC_CONFIG) >> 6;
dev195drivers/net/ac3200.cdev->mem_start = config2mem(inb(ioaddr + AC_CONFIG));
dev196drivers/net/ac3200.cdev->rmem_start = dev->mem_start + TX_PAGES*256;
dev197drivers/net/ac3200.cdev->mem_end = dev->rmem_end = dev->mem_start
dev207drivers/net/ac3200.cdev->name, ioaddr, dev->irq, port_name[dev->if_port],
dev208drivers/net/ac3200.cdev->mem_start, dev->mem_end-1);
dev218drivers/net/ac3200.cdev->open = &ac_open;
dev219drivers/net/ac3200.cdev->stop = &ac_close_card;
dev220drivers/net/ac3200.cNS8390_init(dev, 0);
dev224drivers/net/ac3200.cstatic int ac_open(struct device *dev)
dev228drivers/net/ac3200.cint ioaddr = dev->base_addr;
dev230drivers/net/ac3200.cif (request_irq(dev->irq, ei_interrupt, 0, "ac3200"))
dev234drivers/net/ac3200.cei_open(dev);
dev241drivers/net/ac3200.cstatic void ac_reset_8390(struct device *dev)
dev243drivers/net/ac3200.cushort ioaddr = dev->base_addr;
dev260drivers/net/ac3200.cac_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr, int ring_page)
dev262drivers/net/ac3200.cunsigned long hdr_start = dev->mem_start + ((ring_page - AC_START_PG)<<8);
dev269drivers/net/ac3200.cstatic void ac_block_input(struct device *dev, int count, struct sk_buff *skb,
dev272drivers/net/ac3200.cunsigned long xfer_start = dev->mem_start + ring_offset - (AC_START_PG<<8);
dev274drivers/net/ac3200.cif (xfer_start + count > dev->rmem_end) {
dev276drivers/net/ac3200.cint semi_count = dev->rmem_end - xfer_start;
dev279drivers/net/ac3200.cmemcpy_fromio(skb->data + semi_count, dev->rmem_start, count);
dev286drivers/net/ac3200.cstatic void ac_block_output(struct device *dev, int count,
dev289drivers/net/ac3200.cunsigned long shmem = dev->mem_start + ((start_page - AC_START_PG)<<8);
dev294drivers/net/ac3200.cstatic int ac_close_card(struct device *dev)
dev296drivers/net/ac3200.cdev->start = 0;
dev297drivers/net/ac3200.cdev->tbusy = 1;
dev300drivers/net/ac3200.cprintk("%s: Shutting down ethercard.\n", dev->name);
dev305drivers/net/ac3200.cfree_irq(dev->irq);
dev306drivers/net/ac3200.cirq2dev_map[dev->irq] = 0;
dev309drivers/net/ac3200.cei_close(dev);
dev339drivers/net/ac3200.cstruct device *dev = &dev_ac32[this_dev];
dev340drivers/net/ac3200.cdev->name = namelist+(NAMELEN*this_dev);
dev341drivers/net/ac3200.cdev->irq = irq[this_dev];
dev342drivers/net/ac3200.cdev->base_addr = io[this_dev];
dev343drivers/net/ac3200.cdev->mem_start = mem[this_dev];    /* Currently ignored by driver */
dev344drivers/net/ac3200.cdev->init = ac3200_probe;
dev347drivers/net/ac3200.cif (register_netdev(dev) != 0) {
dev364drivers/net/ac3200.cstruct device *dev = &dev_ac32[this_dev];
dev365drivers/net/ac3200.cif (dev->priv != NULL) {
dev366drivers/net/ac3200.ckfree(dev->priv);
dev367drivers/net/ac3200.cdev->priv = NULL;
dev369drivers/net/ac3200.cfree_irq(dev->irq);
dev370drivers/net/ac3200.cirq2dev_map[dev->irq] = NULL;
dev371drivers/net/ac3200.crelease_region(dev->base_addr, AC_IO_EXTENT);
dev372drivers/net/ac3200.cunregister_netdev(dev);
dev184drivers/net/apricot.cstatic int i596_open(struct device *dev);
dev185drivers/net/apricot.cstatic int i596_start_xmit(struct sk_buff *skb, struct device *dev);
dev187drivers/net/apricot.cstatic int i596_close(struct device *dev);
dev188drivers/net/apricot.cstatic struct enet_statistics *i596_get_stats(struct device *dev);
dev189drivers/net/apricot.cstatic void i596_add_cmd(struct device *dev, struct i596_cmd *cmd);
dev191drivers/net/apricot.cstatic void set_multicast_list(struct device *dev);
dev195drivers/net/apricot.cinit_rx_bufs(struct device *dev, int num)
dev197drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev203drivers/net/apricot.cif (i596_debug > 1) printk ("%s: init_rx_bufs %d.\n", dev->name, num);
dev233drivers/net/apricot.cremove_rx_bufs(struct device *dev)
dev235drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev250drivers/net/apricot.cinit_i596_mem(struct device *dev)
dev252drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev253drivers/net/apricot.cshort ioaddr = dev->base_addr;
dev273drivers/net/apricot.cif (i596_debug > 2) printk("%s: starting i82596.\n", dev->name);
dev283drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
dev291drivers/net/apricot.ci596_add_cmd(dev, &lp->set_conf);
dev293drivers/net/apricot.cmemcpy (lp->eth_addr, dev->dev_addr, 6);
dev295drivers/net/apricot.ci596_add_cmd(dev, &lp->set_add);
dev298drivers/net/apricot.ci596_add_cmd(dev, &lp->tdr);
dev305drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
dev325drivers/net/apricot.ci596_rx(struct device *dev)
dev327drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev346drivers/net/apricot.cprintk ("%s: i596_rx Memory squeeze, dropping packet.\n", dev->name);
dev351drivers/net/apricot.cskb->dev = dev;    
dev354drivers/net/apricot.cskb->protocol=eth_type_trans(skb,dev);
dev442drivers/net/apricot.ci596_reset(struct device *dev, struct i596_private *lp, int ioaddr)
dev456drivers/net/apricot.cdev->start = 0;
dev457drivers/net/apricot.cdev->tbusy = 1;
dev474drivers/net/apricot.ci596_rx(dev);
dev476drivers/net/apricot.cdev->start = 1;
dev477drivers/net/apricot.cdev->tbusy = 0;
dev478drivers/net/apricot.cdev->interrupt = 0;
dev479drivers/net/apricot.cinit_i596_mem(dev);
dev482drivers/net/apricot.cstatic void i596_add_cmd(struct device *dev, struct i596_cmd *cmd)
dev484drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev485drivers/net/apricot.cint ioaddr = dev->base_addr;
dev526drivers/net/apricot.cprintk("%s: command unit timed out, status resetting.\n", dev->name);
dev528drivers/net/apricot.ci596_reset(dev, lp, ioaddr);
dev533drivers/net/apricot.ci596_open(struct device *dev)
dev538drivers/net/apricot.cprintk("%s: i596_open() irq %d.\n", dev->name, dev->irq);
dev540drivers/net/apricot.cif (request_irq(dev->irq, &i596_interrupt, 0, "apricot"))
dev543drivers/net/apricot.cirq2dev_map[dev->irq] = dev;
dev545drivers/net/apricot.ci = init_rx_bufs(dev, RX_RING_SIZE);
dev547drivers/net/apricot.cif ((i = init_rx_bufs(dev, RX_RING_SIZE)) < RX_RING_SIZE)
dev548drivers/net/apricot.cprintk("%s: only able to allocate %d receive buffers\n", dev->name, i);
dev552drivers/net/apricot.cfree_irq(dev->irq);
dev553drivers/net/apricot.cirq2dev_map[dev->irq] = 0;
dev557drivers/net/apricot.cdev->tbusy = 0;
dev558drivers/net/apricot.cdev->interrupt = 0;
dev559drivers/net/apricot.cdev->start = 1;
dev563drivers/net/apricot.cinit_i596_mem(dev);
dev569drivers/net/apricot.ci596_start_xmit(struct sk_buff *skb, struct device *dev)
dev571drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev572drivers/net/apricot.cint ioaddr = dev->base_addr;
dev575drivers/net/apricot.cif (i596_debug > 2) printk ("%s: Apricot start xmit\n", dev->name);
dev578drivers/net/apricot.cif (dev->tbusy) {
dev579drivers/net/apricot.cint tickssofar = jiffies - dev->trans_start;
dev583drivers/net/apricot.cdev->name);
dev590drivers/net/apricot.ci596_reset(dev,lp, ioaddr);
dev600drivers/net/apricot.cdev->tbusy = 0;
dev601drivers/net/apricot.cdev->trans_start = jiffies;
dev608drivers/net/apricot.cdev_tint(dev);
dev615drivers/net/apricot.cif (i596_debug > 3) printk("%s: i596_start_xmit() called\n", dev->name);
dev619drivers/net/apricot.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev620drivers/net/apricot.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev624drivers/net/apricot.cdev->trans_start = jiffies;
dev629drivers/net/apricot.cprintk ("%s: i596_xmit Memory squeeze, dropping packet.\n", dev->name);
dev650drivers/net/apricot.ci596_add_cmd(dev, (struct i596_cmd *)tx_cmd);
dev656drivers/net/apricot.cdev->tbusy = 0;
dev678drivers/net/apricot.cint apricot_probe(struct device *dev)
dev712drivers/net/apricot.cdev->base_addr = ioaddr;
dev713drivers/net/apricot.cether_setup(dev);
dev714drivers/net/apricot.cprintk("%s: Apricot 82596 at %#3x,", dev->name, ioaddr);
dev717drivers/net/apricot.cprintk(" %2.2X", dev->dev_addr[i] = eth_addr[i]);
dev719drivers/net/apricot.cdev->base_addr = ioaddr;
dev720drivers/net/apricot.cdev->irq = 10;
dev721drivers/net/apricot.cprintk(" IRQ %d.\n", dev->irq);
dev726drivers/net/apricot.cdev->open = &i596_open;
dev727drivers/net/apricot.cdev->stop = &i596_close;
dev728drivers/net/apricot.cdev->hard_start_xmit = &i596_start_xmit;
dev729drivers/net/apricot.cdev->get_stats = &i596_get_stats;
dev730drivers/net/apricot.cdev->set_multicast_list = &set_multicast_list;
dev732drivers/net/apricot.cdev->mem_start = (int)kmalloc(sizeof(struct i596_private)+ 0x0f, GFP_KERNEL);
dev734drivers/net/apricot.cdev->priv = (void *)((dev->mem_start + 0xf) & 0xfffffff0);
dev736drivers/net/apricot.clp = (struct i596_private *)dev->priv;
dev748drivers/net/apricot.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev754drivers/net/apricot.cif (dev == NULL) {
dev759drivers/net/apricot.cif (i596_debug > 3) printk ("%s: i596_interrupt(): irq %d\n",dev->name, irq);
dev761drivers/net/apricot.cif (dev->interrupt)
dev762drivers/net/apricot.cprintk("%s: Re-entering the interrupt handler.\n", dev->name);
dev764drivers/net/apricot.cdev->interrupt = 1;
dev766drivers/net/apricot.cioaddr = dev->base_addr;
dev768drivers/net/apricot.clp = (struct i596_private *)dev->priv;
dev773drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
dev779drivers/net/apricot.cprintk("%s: i596 interrupt, status %4.4x.\n", dev->name, status);
dev788drivers/net/apricot.cprintk("%s: i596 interrupt completed command.\n", dev->name);
dev790drivers/net/apricot.cprintk("%s: i596 interrupt command unit inactive %x.\n", dev->name, status & 0x0700);
dev842drivers/net/apricot.cprintk("%s: link ok.\n", dev->name);
dev847drivers/net/apricot.cprintk("%s: Transceiver problem.\n", dev->name);
dev849drivers/net/apricot.cprintk("%s: Termination problem.\n", dev->name);
dev851drivers/net/apricot.cprintk("%s: Short circuit.\n", dev->name);
dev853drivers/net/apricot.cprintk("%s: Time %ld.\n", dev->name, status & 0x07ff);
dev870drivers/net/apricot.cif ((lp->cmd_head != (struct i596_cmd *) I596_NULL) && (dev->start)) ack_cmd |= CUC_START;
dev877drivers/net/apricot.cprintk("%s: i596 interrupt received a frame.\n", dev->name);
dev879drivers/net/apricot.cprintk("%s: i596 interrupt receive unit inactive %x.\n", dev->name, status & 0x0070);
dev881drivers/net/apricot.ci596_rx(dev);
dev883drivers/net/apricot.cif (dev->start) ack_cmd |= RX_START;
dev895drivers/net/apricot.cprintk("%s: i596 interrupt, timeout status %4.4x command %4.4x.\n", dev->name, lp->scb.status, lp->scb.command);
dev905drivers/net/apricot.cprintk("%s: exiting interrupt.\n", dev->name);
dev907drivers/net/apricot.cdev->interrupt = 0;
dev912drivers/net/apricot.ci596_close(struct device *dev)
dev914drivers/net/apricot.cint ioaddr = dev->base_addr;
dev915drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev918drivers/net/apricot.cdev->start = 0;
dev919drivers/net/apricot.cdev->tbusy = 1;
dev923drivers/net/apricot.cdev->name, lp->scb.status);
dev934drivers/net/apricot.cdev->name, lp->scb.status, lp->scb.command);
dev937drivers/net/apricot.cfree_irq(dev->irq);
dev938drivers/net/apricot.cirq2dev_map[dev->irq] = 0;
dev939drivers/net/apricot.cremove_rx_bufs(dev);
dev946drivers/net/apricot.ci596_get_stats(struct device *dev)
dev948drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev957drivers/net/apricot.cstatic void set_multicast_list(struct device *dev)
dev959drivers/net/apricot.cstruct i596_private *lp = (struct i596_private *)dev->priv;
dev963drivers/net/apricot.cprintk ("%s: set multicast list %d\n", dev->name, num_addrs);
dev965drivers/net/apricot.cif (dev->mc_count > 0) 
dev969drivers/net/apricot.ccmd = (struct i596_cmd *) kmalloc(sizeof(struct i596_cmd)+2+dev->mc_count*6, GFP_ATOMIC);
dev972drivers/net/apricot.cprintk ("%s: set_multicast Memory squeeze.\n", dev->name);
dev976drivers/net/apricot.c*((unsigned short *) (cmd + 1)) = dev->mc_count * 6;
dev978drivers/net/apricot.cfor(dmi=dev->mc_list;dmi!=NULL;dmi=dmi->next)
dev984drivers/net/apricot.ci596_add_cmd(dev, cmd);
dev990drivers/net/apricot.cif (dev->mc_count == 0 && !(dev->flags&(IFF_PROMISC|IFF_ALLMULTI)))
dev992drivers/net/apricot.cif(dev->flags&IFF_ALLMULTI)
dev993drivers/net/apricot.cdev->flags|=IFF_PROMISC;
dev999drivers/net/apricot.ci596_add_cmd(dev, &lp->set_conf);
dev297drivers/net/arcnet.c#define BUGMSG(x,msg,args...) BUGLVL(x) printk("%6s: " msg, dev->name , ## args);
dev544drivers/net/arcnet.cextern int arcnet_probe(struct device *dev);
dev546drivers/net/arcnet.cstatic int arcnet_memprobe(struct device *dev,u_char *addr);
dev547drivers/net/arcnet.cstatic int arcnet_ioprobe(struct device *dev, short ioaddr);
dev549drivers/net/arcnet.cstatic void arcnet_setup(struct device *dev);
dev550drivers/net/arcnet.cstatic int arcnetE_init(struct device *dev);
dev551drivers/net/arcnet.cstatic int arcnetS_init(struct device *dev);
dev553drivers/net/arcnet.cstatic int arcnet_open(struct device *dev);
dev554drivers/net/arcnet.cstatic int arcnet_close(struct device *dev);
dev555drivers/net/arcnet.cstatic int arcnet_reset(struct device *dev);
dev557drivers/net/arcnet.cstatic int arcnet_send_packet_bad(struct sk_buff *skb,struct device *dev);
dev558drivers/net/arcnet.cstatic int arcnetA_send_packet(struct sk_buff *skb, struct device *dev);
dev559drivers/net/arcnet.cstatic int arcnetE_send_packet(struct sk_buff *skb, struct device *dev);
dev560drivers/net/arcnet.cstatic int arcnetS_send_packet(struct sk_buff *skb, struct device *dev);
dev561drivers/net/arcnet.cstatic void arcnetA_continue_tx(struct device *dev);
dev562drivers/net/arcnet.cstatic void arcnetAS_prepare_tx(struct device *dev,u_char *hdr,int hdrlen,
dev564drivers/net/arcnet.cstatic int arcnet_go_tx(struct device *dev,int enable_irq);
dev567drivers/net/arcnet.cstatic void arcnet_inthandler(struct device *dev);
dev569drivers/net/arcnet.cstatic void arcnet_rx(struct device *dev,int recbuf);
dev570drivers/net/arcnet.cstatic void arcnetA_rx(struct device *dev,u_char *buf,
dev572drivers/net/arcnet.cstatic void arcnetE_rx(struct device *dev,u_char *arcsoft,
dev574drivers/net/arcnet.cstatic void arcnetS_rx(struct device *dev,u_char *buf,
dev577drivers/net/arcnet.cstatic struct enet_statistics *arcnet_get_stats(struct device *dev);
dev578drivers/net/arcnet.cstatic void set_multicast_list(struct device *dev);
dev582drivers/net/arcnet.cint arcnetA_header(unsigned char *buff,struct device *dev,
dev585drivers/net/arcnet.cint arcnetS_header(unsigned char *buff,struct device *dev,
dev589drivers/net/arcnet.cint arcnetA_header(struct sk_buff *skb,struct device *dev,
dev591drivers/net/arcnet.cint arcnetS_header(struct sk_buff *skb,struct device *dev,
dev594drivers/net/arcnet.cint arcnetA_rebuild_header(void *eth,struct device *dev,unsigned long raddr,
dev596drivers/net/arcnet.cint arcnetS_rebuild_header(void *eth,struct device *dev,unsigned long raddr,
dev598drivers/net/arcnet.cunsigned short arcnetA_type_trans(struct sk_buff *skb,struct device *dev);
dev599drivers/net/arcnet.cunsigned short arcnetS_type_trans(struct sk_buff *skb,struct device *dev);
dev606drivers/net/arcnet.c#define tx_done(dev) 1
dev625drivers/net/arcnet.carcnet_probe(struct device *dev)
dev652drivers/net/arcnet.cint base_addr=dev->base_addr, status=0;
dev682drivers/net/arcnet.cdev->base_addr,dev->irq,dev->mem_start);
dev686drivers/net/arcnet.cstatus=arcnet_ioprobe(dev, base_addr);
dev699drivers/net/arcnet.cstatus=arcnet_ioprobe(dev, ioaddr);
dev713drivers/net/arcnet.cdev->mem_start);
dev714drivers/net/arcnet.cif (dev->mem_start)  /* value given - probe just that one */
dev716drivers/net/arcnet.cstatus=arcnet_memprobe(dev,(u_char *)dev->mem_start);
dev722drivers/net/arcnet.cstatus=arcnet_memprobe(dev,(u_char *)(*addr));
dev729drivers/net/arcnet.cif (!dev->base_addr || !dev->irq || !dev->mem_start 
dev730drivers/net/arcnet.c|| !dev->rmem_start)
dev732drivers/net/arcnet.cprintk("%6s: loadable modules can't autoprobe!\n",dev->name);
dev734drivers/net/arcnet.cdev->name);
dev736drivers/net/arcnet.cdev->name);
dev742drivers/net/arcnet.cint irqval = request_irq(dev->irq, &arcnet_interrupt, 0,
dev746drivers/net/arcnet.cdev->name,dev->irq, irqval);
dev752drivers/net/arcnet.crequest_region(dev->base_addr, ARCNET_TOTAL_SIZE,"arcnet");
dev755drivers/net/arcnet.cdev->name, dev->base_addr, dev->irq, dev->mem_start);
dev758drivers/net/arcnet.cdev->priv = kmalloc(sizeof(struct arcnet_local), GFP_KERNEL);
dev759drivers/net/arcnet.cif (dev->priv == NULL)
dev761drivers/net/arcnet.cmemset(dev->priv, 0, sizeof(struct arcnet_local));
dev762drivers/net/arcnet.clp=(struct arcnet_local *)(dev->priv);
dev764drivers/net/arcnet.cdev->open=arcnet_open;
dev765drivers/net/arcnet.cdev->stop=arcnet_close;
dev766drivers/net/arcnet.cdev->hard_start_xmit=arcnetA_send_packet;
dev767drivers/net/arcnet.cdev->get_stats=arcnet_get_stats;
dev769drivers/net/arcnet.cdev->set_multicast_list = &set_multicast_list;
dev775drivers/net/arcnet.carcnet_setup(dev);
dev778drivers/net/arcnet.cdev->mtu=1500; /* completely arbitrary - agrees with ether, though */
dev779drivers/net/arcnet.cdev->hard_header_len=sizeof(struct ClientData);
dev790drivers/net/arcnet.carcnet_reset(dev);
dev796drivers/net/arcnet.cdev->name);
dev799drivers/net/arcnet.cdev->name);
dev800drivers/net/arcnet.cdev->dev_addr[0]=lp->arcnum;
dev804drivers/net/arcnet.cdev->hard_header=arcnetA_header;
dev805drivers/net/arcnet.cdev->rebuild_header=arcnetA_rebuild_header;
dev808drivers/net/arcnet.cdev->type_trans=arcnetA_type_trans;
dev816drivers/net/arcnet.cint arcnet_ioprobe(struct device *dev, short ioaddr)
dev894drivers/net/arcnet.cprintk("%6s:  autoirq is %d\n", dev->name, airq);
dev899drivers/net/arcnet.cif (!airq && !(dev->base_addr && dev->irq))
dev921drivers/net/arcnet.cif (!dev->base_addr) dev->base_addr=ioaddr;
dev923drivers/net/arcnet.cif (dev->irq < 2)    /* "Auto-IRQ" */
dev926drivers/net/arcnet.cdev->irq=airq;
dev928drivers/net/arcnet.celse if (dev->irq == 2)
dev931drivers/net/arcnet.cdev->irq = 9;
dev935drivers/net/arcnet.cdev->base_addr,dev->irq);
dev944drivers/net/arcnet.cint arcnet_memprobe(struct device *dev,u_char *addr)
dev948drivers/net/arcnet.cdev->mem_start=0;
dev968drivers/net/arcnet.cdev->mem_start=(unsigned long)addr;
dev969drivers/net/arcnet.cdev->mem_end=dev->mem_start+512*4-1;
dev970drivers/net/arcnet.cdev->rmem_start=dev->mem_start+512*0;
dev971drivers/net/arcnet.cdev->rmem_end=dev->mem_start+512*2-1;
dev981drivers/net/arcnet.cint arcnet_reset(struct device *dev)
dev983drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)dev->priv;
dev984drivers/net/arcnet.cshort ioaddr=dev->base_addr;
dev991drivers/net/arcnet.cdev->name,inb(STATUS));
dev1002drivers/net/arcnet.ccardmem = (u_char *) dev->mem_start;
dev1019drivers/net/arcnet.cmemset((void *)dev->mem_start,0x42,2048);
dev1040drivers/net/arcnet.cvoid arcnet_setup(struct device *dev)
dev1044drivers/net/arcnet.cskb_queue_head_init(&dev->buffs[i]);
dev1046drivers/net/arcnet.cdev->broadcast[0]=0x00;  /* broadcasts on ARCnet are address 0 */
dev1047drivers/net/arcnet.cdev->addr_len=1;
dev1048drivers/net/arcnet.cdev->type=ARPHRD_ARCNET;
dev1051drivers/net/arcnet.cdev->flags  = IFF_BROADCAST;
dev1052drivers/net/arcnet.cdev->family  = AF_INET;
dev1053drivers/net/arcnet.cdev->pa_addr  = 0;
dev1054drivers/net/arcnet.cdev->pa_brdaddr = 0;
dev1055drivers/net/arcnet.cdev->pa_mask  = 0;
dev1056drivers/net/arcnet.cdev->pa_alen  = 4;
dev1062drivers/net/arcnet.cstatic int arcnetE_init(struct device *dev)
dev1064drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1066drivers/net/arcnet.cether_setup(dev); /* we're emulating ether here, not ARCnet */
dev1067drivers/net/arcnet.cdev->dev_addr[0]=0;
dev1068drivers/net/arcnet.cdev->dev_addr[5]=lp->arcnum;
dev1069drivers/net/arcnet.cdev->mtu=512-sizeof(struct HardHeader)-dev->hard_header_len-1;
dev1070drivers/net/arcnet.cdev->open=NULL;
dev1071drivers/net/arcnet.cdev->stop=NULL;
dev1072drivers/net/arcnet.cdev->hard_start_xmit=arcnetE_send_packet;
dev1081drivers/net/arcnet.cstatic int arcnetS_init(struct device *dev)
dev1083drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1085drivers/net/arcnet.carcnet_setup(dev);
dev1088drivers/net/arcnet.cdev->dev_addr[0]=lp->arcnum;
dev1089drivers/net/arcnet.cdev->hard_header_len=sizeof(struct S_ClientData);
dev1090drivers/net/arcnet.cdev->mtu=512-sizeof(struct HardHeader)-dev->hard_header_len
dev1092drivers/net/arcnet.cdev->open=NULL;
dev1093drivers/net/arcnet.cdev->stop=NULL;
dev1094drivers/net/arcnet.cdev->hard_start_xmit=arcnetS_send_packet;
dev1095drivers/net/arcnet.cdev->hard_header=arcnetS_header;
dev1096drivers/net/arcnet.cdev->rebuild_header=arcnetS_rebuild_header;
dev1098drivers/net/arcnet.cdev->type_trans=arcnetS_type_trans;
dev1121drivers/net/arcnet.carcnet_open(struct device *dev)
dev1123drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1124drivers/net/arcnet.cint ioaddr=dev->base_addr,delayval;
dev1126drivers/net/arcnet.cif (dev->metric>=1000)
dev1128drivers/net/arcnet.carcnet_debug=dev->metric-1000;
dev1129drivers/net/arcnet.cprintk("%6s: debug level set to %d\n",dev->name,arcnet_debug);
dev1130drivers/net/arcnet.cdev->metric=1;
dev1135drivers/net/arcnet.cirq2dev_map[dev->irq] = dev;
dev1140drivers/net/arcnet.cif (arcnet_reset(dev) && arcnet_reset(dev))
dev1143drivers/net/arcnet.cdev->tbusy=0;
dev1144drivers/net/arcnet.cdev->interrupt=0;
dev1149drivers/net/arcnet.clp->adev=dev;
dev1156drivers/net/arcnet.cmemcpy(lp->edev,dev,sizeof(struct device));
dev1163drivers/net/arcnet.csprintf(lp->edev->name,"%se",dev->name);
dev1169drivers/net/arcnet.cmemcpy(lp->sdev,dev,sizeof(struct device));
dev1171drivers/net/arcnet.csprintf(lp->sdev->name,"%ss",dev->name);
dev1194drivers/net/arcnet.carcnet_close(struct device *dev)
dev1196drivers/net/arcnet.cint ioaddr = dev->base_addr;
dev1197drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1203drivers/net/arcnet.cirq2dev_map[dev->irq] = NULL;
dev1250drivers/net/arcnet.carcnet_send_packet_bad(struct sk_buff *skb, struct device *dev)
dev1252drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1253drivers/net/arcnet.cint ioaddr=dev->base_addr;
dev1276drivers/net/arcnet.cint tickssofar = jiffies - dev->trans_start;
dev1330drivers/net/arcnet.cdev->name,inb(STATUS),lp->intx,jiffies-dev->trans_start);
dev1332drivers/net/arcnet.cdev_tint(dev);
dev1339drivers/net/arcnet.cdev->name,inb(STATUS));
dev1342drivers/net/arcnet.carcnet_inthandler(dev); /* fake an interrupt */
dev1352drivers/net/arcnet.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev1355drivers/net/arcnet.cdev->name,inb(STATUS),lp->intx,jiffies-dev->trans_start);
dev1368drivers/net/arcnet.carcnetA_send_packet(struct sk_buff *skb, struct device *dev)
dev1370drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1371drivers/net/arcnet.cint ioaddr=dev->base_addr,bad;
dev1379drivers/net/arcnet.cbad=arcnet_send_packet_bad(skb,dev);
dev1414drivers/net/arcnet.cdev->name,out->hdr->split_flag);
dev1417drivers/net/arcnet.carcnetAS_prepare_tx(dev,
dev1428drivers/net/arcnet.cif (arcnet_go_tx(dev,1))
dev1450drivers/net/arcnet.carcnet_go_tx(dev,1);
dev1457drivers/net/arcnet.carcnetA_continue_tx(dev);
dev1458drivers/net/arcnet.cif (arcnet_go_tx(dev,1))
dev1460drivers/net/arcnet.carcnetA_continue_tx(dev);
dev1461drivers/net/arcnet.carcnet_go_tx(dev,1);
dev1478drivers/net/arcnet.cdev->trans_start=jiffies;
dev1487drivers/net/arcnet.carcnetE_send_packet(struct sk_buff *skb, struct device *dev)
dev1489drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1492drivers/net/arcnet.c(union ArcPacket *)(dev->mem_start+512*(lp->txbuf^1));
dev1500drivers/net/arcnet.cbad=arcnet_send_packet_bad(skb,dev);
dev1512drivers/net/arcnet.cdev->name,length);
dev1513drivers/net/arcnet.cprintk("%6s: transmit aborted.\n",dev->name);
dev1525drivers/net/arcnet.cmemset((void *)dev->mem_start+lp->txbuf*512,0x42,512);
dev1569drivers/net/arcnet.cprintk("%6s: packet dump [tx] follows:",dev->name);
dev1589drivers/net/arcnet.cif (arcnet_go_tx(dev,1))
dev1596drivers/net/arcnet.cdev->trans_start=jiffies;
dev1605drivers/net/arcnet.carcnetS_send_packet(struct sk_buff *skb, struct device *dev)
dev1607drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1608drivers/net/arcnet.cint ioaddr=dev->base_addr,bad,length;
dev1616drivers/net/arcnet.cbad=arcnet_send_packet_bad(skb,dev);
dev1644drivers/net/arcnet.carcnetAS_prepare_tx(dev,
dev1654drivers/net/arcnet.cif (arcnet_go_tx(dev,1))
dev1671drivers/net/arcnet.cdev->trans_start=jiffies;
dev1681drivers/net/arcnet.cstatic void arcnetA_continue_tx(struct device *dev)
dev1683drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1690drivers/net/arcnet.cdev->name);
dev1697drivers/net/arcnet.cdev->name,out->segnum+1,out->numsegs);
dev1712drivers/net/arcnet.carcnetAS_prepare_tx(dev,((char *)out->hdr)+EXTRA_CLIENTDATA,
dev1726drivers/net/arcnet.carcnetAS_prepare_tx(struct device *dev,u_char *hdr,int hdrlen,
dev1729drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev1732drivers/net/arcnet.c(union ArcPacket *)(dev->mem_start+512*(lp->txbuf^1));
dev1744drivers/net/arcnet.cmemset((void *)dev->mem_start+lp->txbuf*512,0x42,512);
dev1806drivers/net/arcnet.cprintk("%6s: packet dump [tx] follows:",dev->name);
dev1829drivers/net/arcnet.carcnet_go_tx(struct device *dev,int enable_irq)
dev1831drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)dev->priv;
dev1832drivers/net/arcnet.cint ioaddr=dev->base_addr;
dev1885drivers/net/arcnet.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev1887drivers/net/arcnet.cif (dev==NULL)
dev1894drivers/net/arcnet.cif (!dev->start) return;
dev1896drivers/net/arcnet.carcnet_inthandler(dev);
dev1904drivers/net/arcnet.carcnet_inthandler(struct device *dev)
dev1906drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)dev->priv;
dev1907drivers/net/arcnet.cint ioaddr=dev->base_addr, status, boguscount = 3, didsomething;
dev1912drivers/net/arcnet.cdev->name);
dev1927drivers/net/arcnet.cif (!dev->start)
dev1938drivers/net/arcnet.cdev->interrupt=0;
dev1970drivers/net/arcnet.cdev->name);
dev1999drivers/net/arcnet.cdev->name);
dev2017drivers/net/arcnet.cprintk("%6s: cabling restored?\n",dev->name);
dev2038drivers/net/arcnet.carcnet_rx(dev,!recbuf);
dev2059drivers/net/arcnet.cdev->name,status,
dev2073drivers/net/arcnet.carcnet_go_tx(dev,0);
dev2101drivers/net/arcnet.carcnetA_continue_tx(dev);
dev2102drivers/net/arcnet.carcnet_go_tx(dev,0);
dev2130drivers/net/arcnet.carcnet_go_tx(dev,0);
dev2138drivers/net/arcnet.cif (dev->start && (lp->sending || (lp->txready && !lp->intx)))
dev2166drivers/net/arcnet.carcnet_rx(struct device *dev,int recbuf)
dev2168drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev2169drivers/net/arcnet.cint ioaddr = dev->base_addr;
dev2171drivers/net/arcnet.c(union ArcPacket *)(dev->mem_start+recbuf*512);
dev2185drivers/net/arcnet.cdev->name,inb(STATUS));
dev2226drivers/net/arcnet.cdev->name,arcsoft[0],arcsoft[0]);
dev2236drivers/net/arcnet.cprintk("%6s: packet dump [rx] follows:",dev->name);
dev2265drivers/net/arcnet.carcnetA_rx(struct device *dev,u_char *buf,
dev2268drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev2314drivers/net/arcnet.cdev->name);
dev2321drivers/net/arcnet.cskb->dev = dev;
dev2360drivers/net/arcnet.cdev->name,arp->ar_hln,arp->ar_pln);
dev2378drivers/net/arcnet.cskb->protocol=arcnetA_type_trans(skb,dev);
dev2451drivers/net/arcnet.cdev->name);
dev2464drivers/net/arcnet.cskb->dev=dev;
dev2532drivers/net/arcnet.cdev->name,skb,in->skb);
dev2552drivers/net/arcnet.cskb->protocol=arcnetA_type_trans(skb,dev);
dev2565drivers/net/arcnet.carcnetE_rx(struct device *dev,u_char *arcsoft,
dev2568drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev2576drivers/net/arcnet.cprintk("%6s: Memory squeeze, dropping packet.\n",dev->name);
dev2582drivers/net/arcnet.cskb->dev = dev;
dev2589drivers/net/arcnet.cprintk("%6s: rx skb dump follows:\n",dev->name);
dev2601drivers/net/arcnet.cskb->protocol=eth_type_trans(skb,dev);
dev2610drivers/net/arcnet.carcnetS_rx(struct device *dev,u_char *buf,
dev2613drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev2644drivers/net/arcnet.cskb->dev = dev;  /* is already lp->sdev */
dev2658drivers/net/arcnet.cskb->protocol=arcnetS_type_trans(skb,dev);
dev2679drivers/net/arcnet.carcnet_get_stats(struct device *dev)
dev2681drivers/net/arcnet.cstruct arcnet_local *lp = (struct arcnet_local *)dev->priv;
dev2693drivers/net/arcnet.cset_multicast_list(struct device *dev)
dev2696drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)(dev->priv);
dev2698drivers/net/arcnet.cshort ioaddr = dev->base_addr;
dev2712drivers/net/arcnet.cint arcnetA_header(unsigned char *buff,struct device *dev,
dev2716drivers/net/arcnet.cint arcnetA_header(struct sk_buff *skb,struct device *dev,
dev2724drivers/net/arcnet.cskb_push(skb,dev->hard_header_len);
dev2726drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)(dev->priv);
dev2755drivers/net/arcnet.cdev->name,type,type);
dev2772drivers/net/arcnet.chead->saddr=((u_char*)(dev->dev_addr))[0];
dev2781drivers/net/arcnet.creturn dev->hard_header_len;
dev2786drivers/net/arcnet.creturn -dev->hard_header_len;
dev2796drivers/net/arcnet.cint arcnetS_header(unsigned char *buff,struct device *dev,
dev2800drivers/net/arcnet.cint arcnetS_header(struct sk_buff *skb,struct device *dev,
dev2808drivers/net/arcnet.cskb_push(skb,dev->hard_header_len);
dev2810drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)(dev->priv);
dev2842drivers/net/arcnet.chead->saddr=((u_char*)(dev->dev_addr))[0];
dev2848drivers/net/arcnet.creturn dev->hard_header_len;
dev2853drivers/net/arcnet.creturn -dev->hard_header_len;
dev2862drivers/net/arcnet.cint arcnetA_rebuild_header(void *buff,struct device *dev,unsigned long dst,
dev2866drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)(dev->priv);
dev2876drivers/net/arcnet.cdev->name,head->protocol_id,head->protocol_id);
dev2890drivers/net/arcnet.cstatus=arp_find(&(head->daddr), dst, dev, dev->pa_addr, skb)? 1 : 0;
dev2900drivers/net/arcnet.cint arcnetS_rebuild_header(void *buff,struct device *dev,unsigned long dst,
dev2904drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *)(dev->priv);
dev2925drivers/net/arcnet.creturn arp_find(&(head->daddr), dst, dev, dev->pa_addr, skb)? 1 : 0;
dev2936drivers/net/arcnet.cunsigned short arcnetA_type_trans(struct sk_buff *skb,struct device *dev)
dev2939drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *) (dev->priv);
dev2946drivers/net/arcnet.cskb_pull(skb,dev->hard_header_len);
dev2952drivers/net/arcnet.celse if (dev->flags&IFF_PROMISC)
dev2955drivers/net/arcnet.cif (head->daddr != dev->dev_addr[0])
dev2980drivers/net/arcnet.cunsigned short arcnetS_type_trans(struct sk_buff *skb,struct device *dev)
dev2983drivers/net/arcnet.cstruct arcnet_local *lp=(struct arcnet_local *) (dev->priv);
dev2990drivers/net/arcnet.cskb_pull(skb,dev->hard_header_len);
dev2996drivers/net/arcnet.celse if (dev->flags&IFF_PROMISC)
dev2999drivers/net/arcnet.cif (head->daddr != dev->dev_addr[0])
dev114drivers/net/at1700.cextern int at1700_probe(struct device *dev);
dev116drivers/net/at1700.cstatic int at1700_probe1(struct device *dev, short ioaddr);
dev118drivers/net/at1700.cstatic int net_open(struct device *dev);
dev119drivers/net/at1700.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
dev121drivers/net/at1700.cstatic void net_rx(struct device *dev);
dev122drivers/net/at1700.cstatic int net_close(struct device *dev);
dev123drivers/net/at1700.cstatic struct enet_statistics *net_get_stats(struct device *dev);
dev124drivers/net/at1700.cstatic void set_multicast_list(struct device *dev);
dev140drivers/net/at1700.cat1700_probe(struct device *dev)
dev143drivers/net/at1700.cint base_addr = dev ? dev->base_addr : 0;
dev146drivers/net/at1700.creturn at1700_probe1(dev, base_addr);
dev154drivers/net/at1700.cif (at1700_probe1(dev, ioaddr) == 0)
dev170drivers/net/at1700.cint at1700_probe1(struct device *dev, short ioaddr)
dev202drivers/net/at1700.cif (dev == NULL)
dev203drivers/net/at1700.cdev = init_etherdev(0, sizeof(struct net_local));
dev209drivers/net/at1700.cprintk("%s: AT1700 found at %#3x, IRQ %d, address ", dev->name,
dev212drivers/net/at1700.cdev->base_addr = ioaddr;
dev213drivers/net/at1700.cdev->irq = irq;
dev214drivers/net/at1700.cirq2dev_map[irq] = dev;
dev219drivers/net/at1700.c((unsigned short *)dev->dev_addr)[i] = ntohs(eeprom_val);
dev232drivers/net/at1700.cdev->if_port = setup_value >> 8;
dev233drivers/net/at1700.cprintk(" %s interface.\n", porttype[(dev->if_port>>3) & 3]);
dev239drivers/net/at1700.coutb(dev->dev_addr[i], ioaddr + 8 + i);
dev252drivers/net/at1700.coutb(dev->if_port, MODE13);
dev261drivers/net/at1700.cdev->priv = kmalloc(sizeof(struct net_local), GFP_KERNEL);
dev262drivers/net/at1700.cif (dev->priv == NULL)
dev264drivers/net/at1700.cmemset(dev->priv, 0, sizeof(struct net_local));
dev266drivers/net/at1700.cdev->open    = net_open;
dev267drivers/net/at1700.cdev->stop    = net_close;
dev268drivers/net/at1700.cdev->hard_start_xmit = net_send_packet;
dev269drivers/net/at1700.cdev->get_stats  = net_get_stats;
dev270drivers/net/at1700.cdev->set_multicast_list = &set_multicast_list;
dev274drivers/net/at1700.cether_setup(dev);
dev319drivers/net/at1700.cstatic int net_open(struct device *dev)
dev321drivers/net/at1700.cstruct net_local *lp = (struct net_local *)dev->priv;
dev322drivers/net/at1700.cint ioaddr = dev->base_addr;
dev330drivers/net/at1700.coutb(dev->dev_addr[i], ioaddr + 8 + i);
dev354drivers/net/at1700.cdev->tbusy = 0;
dev355drivers/net/at1700.cdev->interrupt = 0;
dev356drivers/net/at1700.cdev->start = 1;
dev364drivers/net/at1700.cnet_send_packet(struct sk_buff *skb, struct device *dev)
dev366drivers/net/at1700.cstruct net_local *lp = (struct net_local *)dev->priv;
dev367drivers/net/at1700.cint ioaddr = dev->base_addr;
dev369drivers/net/at1700.cif (dev->tbusy) {
dev372drivers/net/at1700.cint tickssofar = jiffies - dev->trans_start;
dev375drivers/net/at1700.cprintk("%s: transmit timed out with status %04x, %s?\n", dev->name,
dev379drivers/net/at1700.cdev->name, inw(ioaddr + 0), inw(ioaddr + 2), inw(ioaddr + 4),
dev388drivers/net/at1700.cdev->tbusy=0;
dev389drivers/net/at1700.cdev->trans_start = jiffies;
dev399drivers/net/at1700.cdev_tint(dev);
dev405drivers/net/at1700.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev406drivers/net/at1700.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev425drivers/net/at1700.cdev->trans_start = jiffies;
dev427drivers/net/at1700.cdev->tbusy = 0;
dev430drivers/net/at1700.cdev->tbusy = 0;
dev445drivers/net/at1700.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev449drivers/net/at1700.cif (dev == NULL) {
dev453drivers/net/at1700.cdev->interrupt = 1;
dev455drivers/net/at1700.cioaddr = dev->base_addr;
dev456drivers/net/at1700.clp = (struct net_local *)dev->priv;
dev461drivers/net/at1700.cprintk("%s: Interrupt with status %04x.\n", dev->name, status);
dev464drivers/net/at1700.cnet_rx(dev);
dev473drivers/net/at1700.cdev->trans_start = jiffies;
dev474drivers/net/at1700.cdev->tbusy = 0;
dev480drivers/net/at1700.cdev->tbusy = 0;
dev486drivers/net/at1700.cdev->interrupt = 0;
dev492drivers/net/at1700.cnet_rx(struct device *dev)
dev494drivers/net/at1700.cstruct net_local *lp = (struct net_local *)dev->priv;
dev495drivers/net/at1700.cint ioaddr = dev->base_addr;
dev504drivers/net/at1700.cdev->name, inb(ioaddr + RX_MODE), status);
dev524drivers/net/at1700.cdev->name, pkt_len);
dev534drivers/net/at1700.cdev->name, pkt_len);
dev541drivers/net/at1700.cskb->dev = dev;
dev545drivers/net/at1700.cskb->protocol=eth_type_trans(skb, dev);
dev567drivers/net/at1700.cdev->name, inb(ioaddr + RX_MODE), i);
dev573drivers/net/at1700.cstatic int net_close(struct device *dev)
dev575drivers/net/at1700.cint ioaddr = dev->base_addr;
dev577drivers/net/at1700.cdev->tbusy = 1;
dev578drivers/net/at1700.cdev->start = 0;
dev596drivers/net/at1700.cnet_get_stats(struct device *dev)
dev598drivers/net/at1700.cstruct net_local *lp = (struct net_local *)dev->priv;
dev614drivers/net/at1700.cset_multicast_list(struct device *dev)
dev616drivers/net/at1700.cshort ioaddr = dev->base_addr;
dev617drivers/net/at1700.cif (dev->mc_count || dev->flags&(IFF_PROMISC|IFF_ALLMULTI)) 
dev624drivers/net/at1700.cdev->flags|=IFF_PROMISC;    
dev128drivers/net/atp.cextern int atp_probe(struct device *dev);
dev130drivers/net/atp.cstatic int atp_probe1(struct device *dev, short ioaddr);
dev131drivers/net/atp.cstatic void get_node_ID(struct device *dev);
dev133drivers/net/atp.cstatic int net_open(struct device *dev);
dev134drivers/net/atp.cstatic void hardware_init(struct device *dev);
dev137drivers/net/atp.cstatic int  net_send_packet(struct sk_buff *skb, struct device *dev);
dev139drivers/net/atp.cstatic void net_rx(struct device *dev);
dev141drivers/net/atp.cstatic int net_close(struct device *dev);
dev142drivers/net/atp.cstatic struct enet_statistics *net_get_stats(struct device *dev);
dev143drivers/net/atp.cstatic void set_multicast_list(struct device *dev);
dev153drivers/net/atp.catp_init(struct device *dev)
dev156drivers/net/atp.cint base_addr = dev->base_addr;
dev159drivers/net/atp.creturn atp_probe1(dev, base_addr);
dev168drivers/net/atp.cif (atp_probe1(dev, ioaddr) == 0)
dev175drivers/net/atp.cstatic int atp_probe1(struct device *dev, short ioaddr)
dev205drivers/net/atp.cdev->irq = 7;
dev207drivers/net/atp.cdev->irq = 5;
dev211drivers/net/atp.cdev->base_addr = ioaddr;
dev214drivers/net/atp.cget_node_ID(dev);
dev217drivers/net/atp.c"%02X:%02X:%02X:%02X:%02X:%02X.\n", dev->name, dev->base_addr,
dev218drivers/net/atp.cdev->irq, dev->dev_addr[0], dev->dev_addr[1], dev->dev_addr[2],
dev219drivers/net/atp.cdev->dev_addr[3], dev->dev_addr[4], dev->dev_addr[5]);
dev228drivers/net/atp.cether_setup(dev);
dev229drivers/net/atp.cdev->priv = kmalloc(sizeof(struct net_local), GFP_KERNEL);
dev230drivers/net/atp.cif (dev->priv == NULL)
dev232drivers/net/atp.cmemset(dev->priv, 0, sizeof(struct net_local));
dev236drivers/net/atp.cstruct net_local *lp = (struct net_local *)dev->priv;
dev241drivers/net/atp.cdev->if_port = (dev->mem_start & 0xf) ? dev->mem_start & 0x7 : 4;
dev242drivers/net/atp.cif (dev->mem_end & 0xf)
dev243drivers/net/atp.cnet_debug = dev->mem_end & 7;
dev245drivers/net/atp.cdev->open    = net_open;
dev246drivers/net/atp.cdev->stop    = net_close;
dev247drivers/net/atp.cdev->hard_start_xmit = net_send_packet;
dev248drivers/net/atp.cdev->get_stats  = net_get_stats;
dev249drivers/net/atp.cdev->set_multicast_list = &set_multicast_list;
dev254drivers/net/atp.catp_timed_dev = dev;
dev261drivers/net/atp.cstatic void get_node_ID(struct device *dev)
dev263drivers/net/atp.cshort ioaddr = dev->base_addr;
dev275drivers/net/atp.c((unsigned short *)dev->dev_addr)[i] =
dev323drivers/net/atp.cstatic int net_open(struct device *dev)
dev329drivers/net/atp.cif (irq2dev_map[dev->irq] != 0
dev330drivers/net/atp.c|| (irq2dev_map[dev->irq] = dev) == 0
dev331drivers/net/atp.c|| request_irq(dev->irq, &net_interrupt, 0, "ATP")) {
dev335drivers/net/atp.chardware_init(dev);
dev336drivers/net/atp.cdev->start = 1;
dev342drivers/net/atp.cstatic void hardware_init(struct device *dev)
dev344drivers/net/atp.cstruct net_local *lp = (struct net_local *)dev->priv;
dev345drivers/net/atp.cint ioaddr = dev->base_addr;
dev351drivers/net/atp.cwrite_reg_byte(ioaddr, PAR0 + i, dev->dev_addr[i]);
dev356drivers/net/atp.cprintk("%s: Reset: current Rx mode %d.\n", dev->name,
dev374drivers/net/atp.cdev->tbusy = 0;
dev375drivers/net/atp.cdev->interrupt = 0;
dev416drivers/net/atp.cnet_send_packet(struct sk_buff *skb, struct device *dev)
dev418drivers/net/atp.cstruct net_local *lp = (struct net_local *)dev->priv;
dev419drivers/net/atp.cint ioaddr = dev->base_addr;
dev421drivers/net/atp.cif (dev->tbusy) {
dev424drivers/net/atp.cint tickssofar = jiffies - dev->trans_start;
dev427drivers/net/atp.cprintk("%s: transmit timed out, %s?\n", dev->name,
dev432drivers/net/atp.chardware_init(dev);
dev433drivers/net/atp.cdev->tbusy=0;
dev434drivers/net/atp.cdev->trans_start = jiffies;
dev441drivers/net/atp.cdev_tint(dev);
dev447drivers/net/atp.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev448drivers/net/atp.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev462drivers/net/atp.cwrite_packet(ioaddr, length, buf, dev->if_port);
dev473drivers/net/atp.cdev->trans_start = jiffies;
dev489drivers/net/atp.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev494drivers/net/atp.cif (dev == NULL) {
dev498drivers/net/atp.cdev->interrupt = 1;
dev500drivers/net/atp.cioaddr = dev->base_addr;
dev501drivers/net/atp.clp = (struct net_local *)dev->priv;
dev510drivers/net/atp.cif (net_debug > 5) printk("%s: In interrupt ", dev->name);
dev527drivers/net/atp.cnet_rx(dev);
dev532drivers/net/atp.cnet_rx(dev);
dev533drivers/net/atp.cdev->last_rx = jiffies;
dev547drivers/net/atp.chardware_init(dev);
dev563drivers/net/atp.cdev->tbusy = 0;
dev568drivers/net/atp.c&& jiffies > dev->last_rx + 100) {
dev571drivers/net/atp.c" status %02x  CMR1 %02x.\n", dev->name,
dev572drivers/net/atp.cnum_tx_since_rx, jiffies - dev->last_rx, status,
dev575drivers/net/atp.chardware_init(dev);
dev587drivers/net/atp.cwrite_reg_byte(ioaddr, PAR0 + i, dev->dev_addr[i]);
dev605drivers/net/atp.cdev->interrupt = 0;
dev646drivers/net/atp.cstatic void net_rx(struct device *dev)
dev648drivers/net/atp.cstruct net_local *lp = (struct net_local *)dev->priv;
dev649drivers/net/atp.cint ioaddr = dev->base_addr;
dev658drivers/net/atp.cread_block(ioaddr, 8, (unsigned char*)&rx_head, dev->if_port);
dev667drivers/net/atp.cdev->name, rx_head.rx_status);
dev668drivers/net/atp.chardware_init(dev);
dev677drivers/net/atp.cprintk("%s: Memory squeeze, dropping packet.\n", dev->name);
dev681drivers/net/atp.cskb->dev = dev;
dev683drivers/net/atp.cread_block(ioaddr, pkt_len, skb_put(skb,pkt_len), dev->if_port);
dev694drivers/net/atp.cskb->protocol=eth_type_trans(skb,dev);
dev725drivers/net/atp.cnet_close(struct device *dev)
dev727drivers/net/atp.cstruct net_local *lp = (struct net_local *)dev->priv;
dev728drivers/net/atp.cint ioaddr = dev->base_addr;
dev730drivers/net/atp.cdev->tbusy = 1;
dev731drivers/net/atp.cdev->start = 0;
dev739drivers/net/atp.cfree_irq(dev->irq);
dev740drivers/net/atp.cirq2dev_map[dev->irq] = 0;
dev751drivers/net/atp.cnet_get_stats(struct device *dev)
dev753drivers/net/atp.cstruct net_local *lp = (struct net_local *)dev->priv;
dev761drivers/net/atp.cstatic void set_multicast_list(struct device *dev)
dev763drivers/net/atp.cstruct net_local *lp = (struct net_local *)dev->priv;
dev764drivers/net/atp.cshort ioaddr = dev->base_addr;
dev765drivers/net/atp.cint num_addrs=dev->mc_list;
dev767drivers/net/atp.cif(dev->flags&(IFF_ALLMULTI|IFF_PROMISC))
dev775drivers/net/atp.cdev->flags|=IFF_PROMISC;    
dev397drivers/net/de4x5.cstatic int     de4x5_open(struct device *dev);
dev398drivers/net/de4x5.cstatic int     de4x5_queue_pkt(struct sk_buff *skb, struct device *dev);
dev400drivers/net/de4x5.cstatic int     de4x5_close(struct device *dev);
dev401drivers/net/de4x5.cstatic struct  enet_statistics *de4x5_get_stats(struct device *dev);
dev402drivers/net/de4x5.cstatic void    set_multicast_list(struct device *dev);
dev403drivers/net/de4x5.cstatic int     de4x5_ioctl(struct device *dev, struct ifreq *rq, int cmd);
dev408drivers/net/de4x5.cstatic int     de4x5_hw_init(struct device *dev, u_long iobase);
dev409drivers/net/de4x5.cstatic int     de4x5_init(struct device *dev);
dev410drivers/net/de4x5.cstatic int     de4x5_rx(struct device *dev);
dev411drivers/net/de4x5.cstatic int     de4x5_tx(struct device *dev);
dev412drivers/net/de4x5.cstatic int     de4x5_ast(struct device *dev);
dev414drivers/net/de4x5.cstatic int     autoconf_media(struct device *dev);
dev415drivers/net/de4x5.cstatic void    create_packet(struct device *dev, char *frame, int len);
dev418drivers/net/de4x5.cstatic void    load_packet(struct device *dev, char *buf, u32 flags, struct sk_buff *skb);
dev419drivers/net/de4x5.cstatic void    dc21040_autoconf(struct device *dev);
dev420drivers/net/de4x5.cstatic void    dc21041_autoconf(struct device *dev);
dev421drivers/net/de4x5.cstatic void    dc21140_autoconf(struct device *dev);
dev422drivers/net/de4x5.cstatic int     test_media(struct device *dev, s32 irqs, s32 irq_mask, s32 csr13, s32 csr14, s32 csr15, s32 msec);
dev424drivers/net/de4x5.cstatic int     ping_media(struct device *dev);
dev425drivers/net/de4x5.cstatic void    reset_init_sia(struct device *dev, s32 sicr, s32 strr, s32 sigr);
dev426drivers/net/de4x5.cstatic int     test_ans(struct device *dev, s32 irqs, s32 irq_mask, s32 msec);
dev427drivers/net/de4x5.cstatic void    load_ms_timer(struct device *dev, u32 msec);
dev438drivers/net/de4x5.cstatic void    SetMulticastFilter(struct device *dev, int num_addrs, char *addrs);
dev439drivers/net/de4x5.cstatic int     get_hw_addr(struct device *dev);
dev441drivers/net/de4x5.cstatic void    eisa_probe(struct device *dev, u_long iobase);
dev442drivers/net/de4x5.cstatic void    pci_probe(struct device *dev, u_long iobase);
dev443drivers/net/de4x5.cstatic struct  device *alloc_device(struct device *dev, u_long iobase);
dev444drivers/net/de4x5.cstatic char    *build_setup_frame(struct device *dev, int mode);
dev445drivers/net/de4x5.cstatic void    disable_ast(struct device *dev);
dev446drivers/net/de4x5.cstatic void    enable_ast(struct device *dev, u32 time_out);
dev447drivers/net/de4x5.cstatic void    kick_tx(struct device *dev);
dev492drivers/net/de4x5.cint de4x5_probe(struct device *dev)
dev495drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev501drivers/net/de4x5.ceisa_probe(dev, iobase);
dev502drivers/net/de4x5.cpci_probe(dev, iobase);
dev505drivers/net/de4x5.cprintk("%s: de4x5_probe() cannot find device at 0x%04lx.\n", dev->name, 
dev513drivers/net/de4x5.cfor (; (dev->priv == NULL) && (dev->next != NULL); dev = dev->next);
dev515drivers/net/de4x5.cif (dev->priv) status = 0;
dev523drivers/net/de4x5.cde4x5_hw_init(struct device *dev, u_long iobase)
dev556drivers/net/de4x5.cdev->base_addr = iobase;
dev559drivers/net/de4x5.cdev->name, name, iobase, ((iobase>>12)&0x0f));
dev561drivers/net/de4x5.cprintk("%s: %s at %04lx (PCI bus %d, device %d)", dev->name, name,
dev566drivers/net/de4x5.cstatus = get_hw_addr(dev);
dev568drivers/net/de4x5.cprintk("%2.2x:", dev->dev_addr[i]);
dev570drivers/net/de4x5.cprintk("%2.2x,\n", dev->dev_addr[i]);
dev582drivers/net/de4x5.cdev->priv = (void *) kmalloc(sizeof(struct de4x5_private) + ALIGN, 
dev584drivers/net/de4x5.cif (dev->priv == NULL)
dev589drivers/net/de4x5.cdev->priv = (void *)(((u_long)dev->priv + ALIGN) & ~ALIGN);
dev590drivers/net/de4x5.clp = (struct de4x5_private *)dev->priv;
dev591drivers/net/de4x5.cmemset(dev->priv, 0, sizeof(struct de4x5_private));
dev614drivers/net/de4x5.csprintf(lp->adapter_name,"%s (%s)", name, dev->name);
dev656drivers/net/de4x5.cif (dev->irq < 2) {
dev671drivers/net/de4x5.cfor (dev->irq=0,i=0; (i<sizeof(de4x5_irq)) && (!dev->irq); i++) {
dev673drivers/net/de4x5.cdev->irq = irqnum;
dev674drivers/net/de4x5.cprintk("      and uses IRQ%d.\n", dev->irq);
dev678drivers/net/de4x5.cif (!dev->irq) {
dev688drivers/net/de4x5.cprintk("      and requires IRQ%d (not probed).\n", dev->irq);
dev692drivers/net/de4x5.cdev->name);
dev715drivers/net/de4x5.cdev->open = &de4x5_open;
dev716drivers/net/de4x5.cdev->hard_start_xmit = &de4x5_queue_pkt;
dev717drivers/net/de4x5.cdev->stop = &de4x5_close;
dev718drivers/net/de4x5.cdev->get_stats = &de4x5_get_stats;
dev720drivers/net/de4x5.cdev->set_multicast_list = &set_multicast_list;
dev722drivers/net/de4x5.cdev->do_ioctl = &de4x5_ioctl;
dev724drivers/net/de4x5.cdev->mem_start = 0;
dev727drivers/net/de4x5.cether_setup(dev);
dev735drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev740drivers/net/de4x5.cif (dev->priv) {
dev741drivers/net/de4x5.ckfree_s(dev->priv, sizeof(struct de4x5_private) + ALIGN);
dev742drivers/net/de4x5.cdev->priv = NULL;
dev751drivers/net/de4x5.cde4x5_open(struct device *dev)
dev753drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev754drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev766drivers/net/de4x5.cif (request_irq(dev->irq, (void *)de4x5_interrupt, 0, lp->adapter_name)) {
dev767drivers/net/de4x5.cprintk("de4x5_open(): Requested IRQ%d is busy\n",dev->irq);
dev771drivers/net/de4x5.cirq2dev_map[dev->irq] = dev;
dev775drivers/net/de4x5.cstatus = de4x5_init(dev);
dev778drivers/net/de4x5.cprintk("%s: de4x5 open with irq %d\n",dev->name,dev->irq);
dev781drivers/net/de4x5.cprintk("%2.2x:",(short)dev->dev_addr[i]);
dev821drivers/net/de4x5.cdev->tbusy = 0;                         
dev822drivers/net/de4x5.cdev->start = 1;
dev823drivers/net/de4x5.cdev->interrupt = UNMASK_INTERRUPTS;
dev824drivers/net/de4x5.cdev->trans_start = jiffies;
dev864drivers/net/de4x5.cde4x5_init(struct device *dev)
dev866drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev867drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev872drivers/net/de4x5.cset_bit(0, (void *)&dev->tbusy);
dev904drivers/net/de4x5.cSetMulticastFilter(dev, 0, NULL);
dev907drivers/net/de4x5.cload_packet(dev, lp->setup_frame, HASH_F|TD_SET|SETUP_FRAME_LEN, NULL);
dev909drivers/net/de4x5.cload_packet(dev, lp->setup_frame, PERFECT_F|TD_SET|SETUP_FRAME_LEN, NULL);
dev920drivers/net/de4x5.cprintk("%s: Setup frame timed out, status %08x\n", dev->name, 
dev929drivers/net/de4x5.cif (autoconf_media(dev) == 0) {
dev940drivers/net/de4x5.cde4x5_queue_pkt(struct sk_buff *skb, struct device *dev)
dev942drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev943drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev952drivers/net/de4x5.cif (set_bit(0, (void*)&dev->tbusy) == 0) {
dev954drivers/net/de4x5.cde4x5_tx(dev);
dev955drivers/net/de4x5.cdev->tbusy = 0;
dev964drivers/net/de4x5.cif (dev->tbusy || (lp->lostMedia > LOST_MEDIA_THRESHOLD)) {
dev965drivers/net/de4x5.cu_long tickssofar = jiffies - dev->trans_start;
dev971drivers/net/de4x5.cprintk("%s: transmit timed out, status %08x, tbusy:%ld, lostMedia:%d tickssofar:%ld, resetting.\n",dev->name, inl(DE4X5_STS), dev->tbusy, lp->lostMedia, tickssofar);
dev982drivers/net/de4x5.cdev_queue_xmit(lp->skb[i], dev, SOPRI_NORMAL);
dev993drivers/net/de4x5.cdev_queue_xmit(skb, dev, SOPRI_NORMAL);
dev999drivers/net/de4x5.cstatus = de4x5_init(dev);
dev1004drivers/net/de4x5.cdev->interrupt = UNMASK_INTERRUPTS;
dev1005drivers/net/de4x5.cdev->start = 1;
dev1006drivers/net/de4x5.cdev->tbusy = 0;                         
dev1007drivers/net/de4x5.cdev->trans_start = jiffies;
dev1022drivers/net/de4x5.cdev->name, inl(DE4X5_STS));
dev1026drivers/net/de4x5.cdev_tint(dev);
dev1031drivers/net/de4x5.cif (set_bit(0, (void*)&dev->tbusy) != 0) { 
dev1032drivers/net/de4x5.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev1037drivers/net/de4x5.cload_packet(dev, skb->data, TD_IC | TD_LS | TD_FS | skb->len, skb);
dev1043drivers/net/de4x5.cdev->trans_start = jiffies;
dev1046drivers/net/de4x5.cdev->tbusy = 0;                      /* Another pkt may be queued */
dev1072drivers/net/de4x5.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev1077drivers/net/de4x5.cif (dev == NULL) {
dev1080drivers/net/de4x5.clp = (struct de4x5_private *)dev->priv;
dev1081drivers/net/de4x5.ciobase = dev->base_addr;
dev1083drivers/net/de4x5.cif (dev->interrupt)
dev1084drivers/net/de4x5.cprintk("%s: Re-entering the interrupt handler.\n", dev->name);
dev1087drivers/net/de4x5.cdev->interrupt = MASK_INTERRUPTS;
dev1093drivers/net/de4x5.cde4x5_rx(dev);
dev1096drivers/net/de4x5.cde4x5_tx(dev); 
dev1099drivers/net/de4x5.cde4x5_ast(dev);
dev1104drivers/net/de4x5.ckick_tx(dev);
dev1110drivers/net/de4x5.cdev->name, sts);
dev1114drivers/net/de4x5.cif (TX_BUFFS_AVAIL && dev->tbusy) {/* Any resources available? */
dev1115drivers/net/de4x5.cdev->tbusy = 0;                  /* Clear TX busy flag */
dev1119drivers/net/de4x5.cdev->interrupt = UNMASK_INTERRUPTS;
dev1127drivers/net/de4x5.cde4x5_rx(struct device *dev)
dev1129drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1152drivers/net/de4x5.cskb->dev = dev;
dev1164drivers/net/de4x5.cskb->protocol=eth_type_trans(skb,dev);
dev1182drivers/net/de4x5.c} else if ((*(s32 *)&buf[0] == *(s32 *)&dev->dev_addr[0]) &&
dev1183drivers/net/de4x5.c(*(s16 *)&buf[4] == *(s16 *)&dev->dev_addr[4])) {
dev1192drivers/net/de4x5.cprintk("%s: Insufficient memory; nuking packet.\n", dev->name);
dev1220drivers/net/de4x5.cde4x5_tx(struct device *dev)
dev1222drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1223drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1244drivers/net/de4x5.ckick_tx(dev);
dev1267drivers/net/de4x5.cde4x5_ast(struct device *dev)
dev1269drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1270drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1273drivers/net/de4x5.cdisable_ast(dev);
dev1284drivers/net/de4x5.ckick_tx(dev);
dev1289drivers/net/de4x5.cenable_ast(dev, DE4X5_AUTOSENSE_MS);
dev1294drivers/net/de4x5.cenable_ast(dev, 1500);
dev1299drivers/net/de4x5.cenable_ast(dev, 4000);
dev1305drivers/net/de4x5.cenable_ast(dev, DE4X5_AUTOSENSE_MS);
dev1313drivers/net/de4x5.cde4x5_close(struct device *dev)
dev1315drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1316drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1319drivers/net/de4x5.cdev->start = 0;
dev1320drivers/net/de4x5.cdev->tbusy = 1;
dev1324drivers/net/de4x5.cdev->name, inl(DE4X5_STS));
dev1337drivers/net/de4x5.cfree_irq(dev->irq);
dev1338drivers/net/de4x5.cirq2dev_map[dev->irq] = 0;
dev1352drivers/net/de4x5.cde4x5_get_stats(struct device *dev)
dev1354drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1355drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1362drivers/net/de4x5.cstatic void load_packet(struct device *dev, char *buf, u32 flags, struct sk_buff *skb)
dev1364drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1387drivers/net/de4x5.cset_multicast_list(struct device *dev)
dev1389drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1390drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1393drivers/net/de4x5.cif (irq2dev_map[dev->irq] != NULL) 
dev1397drivers/net/de4x5.cSetMulticastFilter(dev);
dev1400drivers/net/de4x5.cload_packet(dev, lp->setup_frame, TD_IC | HASH_F | TD_SET | 
dev1405drivers/net/de4x5.cload_packet(dev, lp->setup_frame, TD_IC | PERFECT_F | TD_SET | 
dev1411drivers/net/de4x5.cdev->trans_start = jiffies;
dev1430drivers/net/de4x5.cstatic void SetMulticastFilter(struct device *dev)
dev1432drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1433drivers/net/de4x5.cstruct dev_mc_list *dmi=dev->mc_list;
dev1434drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1442drivers/net/de4x5.cpa = build_setup_frame(dev, ALL);          /* Build the basic frame */
dev1446drivers/net/de4x5.cif (num_addrs >= HASH_TABLE_LEN || (dev->flags&IFF_ALLMULTI)) 
dev1495drivers/net/de4x5.cfor (j=0; j<dev->mc_count; j++) 
dev1507drivers/net/de4x5.cif (dev->mc_count == 0)
dev1518drivers/net/de4x5.cstatic void eisa_probe(struct device *dev, u_long ioaddr)
dev1542drivers/net/de4x5.cfor (status = -ENODEV; (i<maxSlots) && (dev!=NULL); i++, iobase+=EISA_SLOT_INC) {
dev1557drivers/net/de4x5.cif ((dev = alloc_device(dev, iobase)) != NULL) {
dev1558drivers/net/de4x5.cif ((status = de4x5_hw_init(dev, iobase)) == 0) {
dev1564drivers/net/de4x5.cprintk("%s: region already allocated at 0x%04lx.\n", dev->name, iobase);
dev1588drivers/net/de4x5.cstatic void pci_probe(struct device *dev, u_long ioaddr)
dev1644drivers/net/de4x5.cif ((dev = alloc_device(dev, iobase)) != NULL) {
dev1645drivers/net/de4x5.cdev->irq = irq;
dev1646drivers/net/de4x5.cif ((status = de4x5_hw_init(dev, iobase)) == 0) {
dev1652drivers/net/de4x5.cprintk("%s: region already allocated at 0x%04x.\n", dev->name, (u_short)iobase);
dev1669drivers/net/de4x5.cstatic struct device *alloc_device(struct device *dev, u_long iobase)
dev1679drivers/net/de4x5.cwhile (dev->next != NULL) {
dev1680drivers/net/de4x5.cif ((dev->base_addr == DE4X5_NDA) || (dev->base_addr == 0)) break;
dev1681drivers/net/de4x5.cdev = dev->next;                     /* walk through eth device list */
dev1689drivers/net/de4x5.cif ((dev->base_addr == 0) && (num_de4x5s > 0)) {
dev1691drivers/net/de4x5.ctmp = dev->next;                     /* point to the next device */
dev1692drivers/net/de4x5.cinit = dev->init;                    /* remember the probe function */
dev1699drivers/net/de4x5.cif ((dev->next == NULL) &&  
dev1700drivers/net/de4x5.c!((dev->base_addr == DE4X5_NDA) || (dev->base_addr == 0))){
dev1701drivers/net/de4x5.cdev->next = (struct device *)kmalloc(sizeof(struct device) + 8,
dev1704drivers/net/de4x5.cdev = dev->next;                     /* point to the new device */
dev1705drivers/net/de4x5.cif (dev == NULL) {
dev1714drivers/net/de4x5.cdev->name = (char *)(dev + sizeof(struct device));
dev1716drivers/net/de4x5.csprintf(dev->name,"eth????");    /* New device name */
dev1718drivers/net/de4x5.csprintf(dev->name,"eth%d", num_eth);/* New device name */
dev1720drivers/net/de4x5.cdev->base_addr = iobase;           /* assign the io address */
dev1721drivers/net/de4x5.cdev->next = NULL;                  /* mark the end of list */
dev1722drivers/net/de4x5.cdev->init = &de4x5_probe;          /* initialisation routine */
dev1726drivers/net/de4x5.cret = dev;                             /* return current struct, or NULL */
dev1746drivers/net/de4x5.cdev->name);
dev1769drivers/net/de4x5.cret = dev;
dev1781drivers/net/de4x5.cstatic int autoconf_media(struct device *dev)
dev1783drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1784drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1789drivers/net/de4x5.cprintk("%s: Searching for media... ",dev->name);
dev1791drivers/net/de4x5.cprintk("%s: Searching for mode... ",dev->name);
dev1797drivers/net/de4x5.cdc21040_autoconf(dev);
dev1800drivers/net/de4x5.cdc21041_autoconf(dev);
dev1802drivers/net/de4x5.cdisable_ast(dev);
dev1804drivers/net/de4x5.cdc21140_autoconf(dev);
dev1837drivers/net/de4x5.cstatic void dc21040_autoconf(struct device *dev)
dev1839drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1840drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1846drivers/net/de4x5.creset_init_sia(dev, 0x8f01, 0xffff, 0x0000);
dev1853drivers/net/de4x5.cdc21040_autoconf(dev);
dev1860drivers/net/de4x5.creset_init_sia(dev, 0x8f09, 0x0705, 0x0006);
dev1862drivers/net/de4x5.clinkBad = ping_media(dev);
dev1865drivers/net/de4x5.cdc21040_autoconf(dev);
dev1870drivers/net/de4x5.creset_init_sia(dev, 0x3041, 0x0000, 0x0006);
dev1872drivers/net/de4x5.clinkBad = ping_media(dev);
dev1875drivers/net/de4x5.cdc21040_autoconf(dev);
dev1881drivers/net/de4x5.creset_init_sia(dev, 0x8f01, 0xffff, 0x0000);
dev1885drivers/net/de4x5.creset_init_sia(dev, 0x8f09, 0x0705, 0x0006);
dev1898drivers/net/de4x5.cstatic void dc21041_autoconf(struct device *dev)
dev1900drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1901drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev1910drivers/net/de4x5.csts = test_media(dev, irqs, irq_mask, 0xef01, 0xffff, 0x0008, 2400);
dev1916drivers/net/de4x5.cdc21041_autoconf(dev);
dev1922drivers/net/de4x5.csts = test_ans(dev, irqs, irq_mask, 3000);
dev1925drivers/net/de4x5.cdc21041_autoconf(dev);
dev1934drivers/net/de4x5.csts = test_media(dev, irqs, irq_mask, 0xef01, 0xff3f, 0x0008, 2400);
dev1941drivers/net/de4x5.cdc21041_autoconf(dev);
dev1950drivers/net/de4x5.csts = test_media(dev, irqs, irq_mask, 0xef09, 0xf7fd, 0x000e, 1000);
dev1953drivers/net/de4x5.cdc21041_autoconf(dev);
dev1962drivers/net/de4x5.csts = test_media(dev, irqs, irq_mask, 0xef09, 0xf7fd, 0x0006, 1000);
dev1966drivers/net/de4x5.cif (ping_media(dev)) lp->media = NC;
dev1973drivers/net/de4x5.creset_init_sia(dev, 0xef01, 0xffff, 0x0008);/* Initialise the SIA */
dev1983drivers/net/de4x5.cstatic void dc21140_autoconf(struct device *dev)
dev1985drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev1986drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2009drivers/net/de4x5.ctest_media(struct device *dev, s32 irqs, s32 irq_mask, s32 csr13, s32 csr14, s32 csr15, s32 msec)
dev2011drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2012drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2015drivers/net/de4x5.creset_init_sia(dev, csr13, csr14, csr15);
dev2018drivers/net/de4x5.cload_ms_timer(dev, msec);
dev2061drivers/net/de4x5.cstatic int ping_media(struct device *dev)
dev2063drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2064drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2069drivers/net/de4x5.ccreate_packet(dev, frame, sizeof(frame));
dev2072drivers/net/de4x5.cload_packet(dev, frame, TD_LS | TD_FS | sizeof(frame),NULL);
dev2095drivers/net/de4x5.cstatic int test_ans(struct device *dev, s32 irqs, s32 irq_mask, s32 msec)
dev2097drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2098drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2104drivers/net/de4x5.cload_ms_timer(dev, msec);
dev2122drivers/net/de4x5.cstatic void reset_init_sia(struct device *dev, s32 sicr, s32 strr, s32 sigr)
dev2124drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2125drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2138drivers/net/de4x5.cstatic void load_ms_timer(struct device *dev, u32 msec)
dev2140drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2141drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2161drivers/net/de4x5.cstatic void create_packet(struct device *dev, char *frame, int len)
dev2167drivers/net/de4x5.c*buf++ = dev->dev_addr[i];
dev2170drivers/net/de4x5.c*buf++ = dev->dev_addr[i];
dev2258drivers/net/de4x5.c} dev;
dev2264drivers/net/de4x5.cdev.llsig.a = ETH_PROM_SIG;
dev2265drivers/net/de4x5.cdev.llsig.b = ETH_PROM_SIG;
dev2276drivers/net/de4x5.cif (dev.Sig[j] == data) {   /* track signature */
dev2279drivers/net/de4x5.cif (data == dev.Sig[0]) {
dev2301drivers/net/de4x5.cstatic int get_hw_addr(struct device *dev)
dev2303drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2316drivers/net/de4x5.cdev->dev_addr[i++] = (u_char) tmp;
dev2319drivers/net/de4x5.cdev->dev_addr[i++] = (u_char) tmp;
dev2321drivers/net/de4x5.cdev->dev_addr[i] = (u_char) lp->srom.ieee_addr[i]; i++;
dev2322drivers/net/de4x5.cdev->dev_addr[i] = (u_char) lp->srom.ieee_addr[i]; i++;
dev2326drivers/net/de4x5.cdev->dev_addr[i++] = (u_char) tmp;
dev2328drivers/net/de4x5.cdev->dev_addr[i++] = (u_char) tmp;
dev2457drivers/net/de4x5.cstatic char *build_setup_frame(struct device *dev, int mode)
dev2459drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2470drivers/net/de4x5.c*(pa + i) = dev->dev_addr[i];                 /* Host address */
dev2476drivers/net/de4x5.c*(pa + (i&1)) = dev->dev_addr[i];
dev2488drivers/net/de4x5.cstatic void enable_ast(struct device *dev, u32 time_out)
dev2490drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2491drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2495drivers/net/de4x5.cload_ms_timer(dev, time_out);
dev2500drivers/net/de4x5.cstatic void disable_ast(struct device *dev)
dev2502drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2503drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2507drivers/net/de4x5.cload_ms_timer(dev, 0);
dev2512drivers/net/de4x5.cstatic void kick_tx(struct device *dev)
dev2519drivers/net/de4x5.cskb->dev=dev;
dev2520drivers/net/de4x5.cdev_queue_xmit(skb, dev, SOPRI_NORMAL);
dev2530drivers/net/de4x5.cstatic int de4x5_ioctl(struct device *dev, struct ifreq *rq, int cmd)
dev2532drivers/net/de4x5.cstruct de4x5_private *lp = (struct de4x5_private *)dev->priv;
dev2534drivers/net/de4x5.cu_long iobase = dev->base_addr;
dev2550drivers/net/de4x5.ctmp.addr[i] = dev->dev_addr[i];
dev2565drivers/net/de4x5.cdev->dev_addr[i] = tmp.addr[i];
dev2567drivers/net/de4x5.cbuild_setup_frame(dev, PHYS_ADDR_ONLY);
dev2569drivers/net/de4x5.cwhile (set_bit(0, (void *)&dev->tbusy) != 0);/* Wait for lock to free*/
dev2571drivers/net/de4x5.cload_packet(dev, lp->setup_frame, TD_IC | HASH_F | TD_SET | 
dev2574drivers/net/de4x5.cload_packet(dev, lp->setup_frame, TD_IC | PERFECT_F | TD_SET | 
dev2579drivers/net/de4x5.cdev->tbusy = 0;                              /* Unlock the TX ring */
dev2603drivers/net/de4x5.cprintk("%s: Boo!\n", dev->name);
dev2619drivers/net/de4x5.cset_multicast_list(dev, ioc->len, tmp.addr);
dev2622drivers/net/de4x5.cset_multicast_list(dev, ioc->len, NULL);
dev2631drivers/net/de4x5.cset_multicast_list(dev, 0, NULL);
dev2706drivers/net/de4x5.ctmp.addr[j++] = dev->irq;
dev2708drivers/net/de4x5.ctmp.addr[j++] = dev->dev_addr[i];
dev2757drivers/net/de4x5.ctmp.addr[j++] = dev->tbusy;
dev240drivers/net/de600.cstatic byte  de600_read_status(struct device *dev);
dev241drivers/net/de600.cstatic byte  de600_read_byte(unsigned char type, struct device *dev);
dev244drivers/net/de600.cstatic int  de600_open(struct device *dev);
dev245drivers/net/de600.cstatic int  de600_close(struct device *dev);
dev246drivers/net/de600.cstatic struct netstats *get_stats(struct device *dev);
dev247drivers/net/de600.cstatic int  de600_start_xmit(struct sk_buff *skb, struct device *dev);
dev251drivers/net/de600.cstatic int  de600_tx_intr(struct device *dev, int irq_status);
dev252drivers/net/de600.cstatic void  de600_rx_intr(struct device *dev);
dev255drivers/net/de600.cstatic void  trigger_interrupt(struct device *dev);
dev256drivers/net/de600.cint    de600_probe(struct device *dev);
dev257drivers/net/de600.cstatic int  adapter_init(struct device *dev);
dev307drivers/net/de600.cde600_read_status(struct device *dev)
dev319drivers/net/de600.cde600_read_byte(unsigned char type, struct device *dev) { /* dev used by macros */
dev337drivers/net/de600.cde600_open(struct device *dev)
dev340drivers/net/de600.cprintk ("%s: unable to get IRQ %d\n", dev->name, DE600_IRQ);
dev343drivers/net/de600.cirq2dev_map[DE600_IRQ] = dev;
dev346drivers/net/de600.cdev->start = 1;
dev347drivers/net/de600.cif (adapter_init(dev)) {
dev358drivers/net/de600.cde600_close(struct device *dev)
dev367drivers/net/de600.cif (dev->start) {
dev370drivers/net/de600.cdev->start = 0;
dev377drivers/net/de600.cget_stats(struct device *dev)
dev379drivers/net/de600.creturn (struct netstats *)(dev->priv);
dev383drivers/net/de600.ctrigger_interrupt(struct device *dev)
dev397drivers/net/de600.cde600_start_xmit(struct sk_buff *skb, struct device *dev)
dev411drivers/net/de600.cdev_tint(dev);
dev416drivers/net/de600.ctickssofar = jiffies - dev->trans_start;
dev423drivers/net/de600.cdev->name,
dev428drivers/net/de600.cif (adapter_init(dev)) {
dev447drivers/net/de600.cde600_read_byte(READ_DATA, dev);
dev448drivers/net/de600.cif (was_down || (de600_read_byte(READ_DATA, dev) != 0xde)) {
dev449drivers/net/de600.cif (adapter_init(dev)) {
dev461drivers/net/de600.cdev->trans_start = jiffies;
dev462drivers/net/de600.cdev->tbusy = 0;  /* allow more packets into adapter */
dev468drivers/net/de600.cdev->tbusy = !free_tx_pages;
dev493drivers/net/de600.cstruct device  *dev = irq2dev_map[irq];
dev499drivers/net/de600.cif ((dev == NULL) || (dev->start == 0) || (DE600_IRQ != irq)) {
dev500drivers/net/de600.cprintk("%s: bogus interrupt %d\n", dev?dev->name:"DE-600", irq);
dev504drivers/net/de600.cdev->interrupt = 1;
dev506drivers/net/de600.cirq_status = de600_read_status(dev);
dev512drivers/net/de600.cde600_rx_intr(dev);
dev518drivers/net/de600.cretrig = de600_tx_intr(dev, irq_status);
dev522drivers/net/de600.cirq_status = de600_read_status(dev);
dev531drivers/net/de600.cdev->interrupt = 0;
dev535drivers/net/de600.ctrigger_interrupt(dev);
dev542drivers/net/de600.cde600_tx_intr(struct device *dev, int irq_status)
dev558drivers/net/de600.c((struct netstats *)(dev->priv))->tx_packets++;
dev559drivers/net/de600.cdev->tbusy = 0;
dev564drivers/net/de600.cdev->trans_start = jiffies;
dev578drivers/net/de600.cde600_rx_intr(struct device *dev)
dev588drivers/net/de600.csize = de600_read_byte(RX_LEN, dev);  /* low byte */
dev589drivers/net/de600.csize += (de600_read_byte(RX_LEN, dev) << 8);  /* high byte */
dev599drivers/net/de600.cprintk("%s: Bogus packet size %d.\n", dev->name, size);
dev601drivers/net/de600.cadapter_init(dev);
dev609drivers/net/de600.cdev->name, size);
dev614drivers/net/de600.cskb->dev = dev;
dev623drivers/net/de600.c*buffer = de600_read_byte(READ_DATA, dev);
dev625drivers/net/de600.c((struct netstats *)(dev->priv))->rx_packets++; /* count all receives */
dev627drivers/net/de600.cskb->protocol=eth_type_trans(skb,dev);
dev638drivers/net/de600.cde600_probe(struct device *dev)
dev644drivers/net/de600.cprintk("%s: D-Link DE-600 pocket adapter", dev->name);
dev652drivers/net/de600.c(void)de600_read_status(dev);
dev655drivers/net/de600.cif (de600_read_status(dev) & 0xf0) {
dev668drivers/net/de600.cdev->dev_addr[i] = de600_read_byte(READ_DATA, dev);
dev669drivers/net/de600.cdev->broadcast[i] = 0xff;
dev673drivers/net/de600.cif ((dev->dev_addr[1] == 0xde) && (dev->dev_addr[2] == 0x15)) {
dev675drivers/net/de600.cdev->dev_addr[0] = 0x00;
dev676drivers/net/de600.cdev->dev_addr[1] = 0x80;
dev677drivers/net/de600.cdev->dev_addr[2] = 0xc8;
dev678drivers/net/de600.cdev->dev_addr[3] &= 0x0f;
dev679drivers/net/de600.cdev->dev_addr[3] |= 0x70;
dev693drivers/net/de600.cprintk(", Ethernet Address: %02X", dev->dev_addr[0]);
dev695drivers/net/de600.cprintk(":%02X",dev->dev_addr[i]);
dev700drivers/net/de600.cdev->priv = &de600_netstats;
dev702drivers/net/de600.cmemset(dev->priv, 0, sizeof(struct netstats));
dev703drivers/net/de600.cdev->get_stats = get_stats;
dev705drivers/net/de600.cdev->open = de600_open;
dev706drivers/net/de600.cdev->stop = de600_close;
dev707drivers/net/de600.cdev->hard_start_xmit = &de600_start_xmit;
dev709drivers/net/de600.cether_setup(dev);
dev711drivers/net/de600.cdev->flags&=~IFF_MULTICAST;
dev718drivers/net/de600.cadapter_init(struct device *dev)
dev734drivers/net/de600.cde600_read_byte(READ_DATA, dev);
dev735drivers/net/de600.cif ((de600_read_byte(READ_DATA, dev) != 0xde) ||
dev736drivers/net/de600.c(de600_read_byte(READ_DATA, dev) != 0x15)) {
dev745drivers/net/de600.cdev->flags &= ~IFF_UP;
dev746drivers/net/de600.cde600_close(dev);
dev749drivers/net/de600.cdev->tbusy = 1;    /* Transmit busy...  */
dev759drivers/net/de600.cdev->tbusy = 0;    /* Transmit busy...  */
dev760drivers/net/de600.cdev->interrupt = 0;
dev768drivers/net/de600.cde600_put_byte(dev->dev_addr[i]);
dev160drivers/net/de620.c#define DATA_PORT  (dev->base_addr)
dev161drivers/net/de620.c#define STATUS_PORT  (dev->base_addr + 1)
dev162drivers/net/de620.c#define COMMAND_PORT  (dev->base_addr + 2)
dev257drivers/net/de620.cde620_ready(struct device *dev)
dev272drivers/net/de620.cde620_send_command(struct device *dev, byte cmd)
dev274drivers/net/de620.cde620_ready(dev);
dev281drivers/net/de620.cde620_ready(dev);
dev286drivers/net/de620.cde620_put_byte(struct device *dev, byte value)
dev289drivers/net/de620.cde620_ready(dev);
dev291drivers/net/de620.cde620_flip_ds(dev);
dev295drivers/net/de620.cde620_read_byte(struct device *dev)
dev300drivers/net/de620.cvalue = de620_ready(dev); /* High nibble */
dev301drivers/net/de620.cde620_flip_ds(dev);
dev302drivers/net/de620.cvalue |= de620_ready(dev) >> 4; /* Low nibble */
dev307drivers/net/de620.cde620_write_block(struct device *dev, byte *buffer, int count)
dev324drivers/net/de620.cde620_put_byte(dev,*buffer);
dev326drivers/net/de620.cde620_send_command(dev,W_DUMMY);
dev338drivers/net/de620.cde620_send_command(dev,W_DUMMY);
dev343drivers/net/de620.cde620_read_block(struct device *dev, byte *data, int count)
dev360drivers/net/de620.c*data++ = de620_read_byte(dev);
dev361drivers/net/de620.cde620_flip_ds(dev);
dev378drivers/net/de620.cde620_set_delay(struct device *dev)
dev380drivers/net/de620.cde620_ready(dev);
dev384drivers/net/de620.cde620_ready(dev);
dev390drivers/net/de620.cde620_flip_ds(dev);
dev392drivers/net/de620.cde620_ready(dev);
dev398drivers/net/de620.cde620_flip_ds(dev);
dev402drivers/net/de620.cde620_set_register(struct device *dev, byte reg, byte value)
dev404drivers/net/de620.cde620_ready(dev);
dev408drivers/net/de620.cde620_put_byte(dev, value);
dev412drivers/net/de620.cde620_get_register(struct device *dev, byte reg)
dev416drivers/net/de620.cde620_send_command(dev,reg);
dev417drivers/net/de620.cvalue = de620_read_byte(dev);
dev418drivers/net/de620.cde620_send_command(dev,W_DUMMY);
dev433drivers/net/de620.cde620_open(struct device *dev)
dev435drivers/net/de620.cif (request_irq(dev->irq, de620_interrupt, 0, "de620")) {
dev436drivers/net/de620.cprintk ("%s: unable to get IRQ %d\n", dev->name, dev->irq);
dev439drivers/net/de620.cirq2dev_map[dev->irq] = dev;
dev442drivers/net/de620.cif (adapter_init(dev)) {
dev445drivers/net/de620.cdev->start = 1;
dev455drivers/net/de620.cde620_close(struct device *dev)
dev458drivers/net/de620.cde620_set_register(dev, W_TCR, RXOFF);
dev460drivers/net/de620.cfree_irq(dev->irq);
dev461drivers/net/de620.cirq2dev_map[dev->irq] = NULL;
dev463drivers/net/de620.cdev->start = 0;
dev474drivers/net/de620.cget_stats(struct device *dev)
dev476drivers/net/de620.creturn (struct netstats *)(dev->priv);
dev486drivers/net/de620.cstatic void de620_set_multicast_list(struct device *dev)
dev488drivers/net/de620.cif (dev->mc_count || dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) 
dev495drivers/net/de620.cdev->flags|=IFF_PROMISC;    
dev497drivers/net/de620.cde620_set_register(dev, W_TCR, (TCR_DEF & ~RXPBM) | RXALL);
dev501drivers/net/de620.cde620_set_register(dev, W_TCR, TCR_DEF);
dev511drivers/net/de620.cde620_start_xmit(struct sk_buff *skb, struct device *dev)
dev526drivers/net/de620.cdev_tint(dev);
dev530drivers/net/de620.cusing_txbuf = de620_tx_buffs(dev); /* Peek at the adapter */
dev531drivers/net/de620.cdev->tbusy = (using_txbuf == (TXBF0 | TXBF1)); /* Boolean! */
dev533drivers/net/de620.cif (dev->tbusy) {  /* Do timeouts, to avoid hangs. */
dev534drivers/net/de620.ctickssofar = jiffies - dev->trans_start;
dev541drivers/net/de620.cdev->name,
dev546drivers/net/de620.cif (adapter_init(dev)) /* maybe close it */
dev566drivers/net/de620.cde620_send_command(dev,W_CR | RW0);
dev571drivers/net/de620.cde620_send_command(dev,W_CR | RW1);
dev581drivers/net/de620.cde620_write_block(dev, buffer, len);
dev583drivers/net/de620.cdev->trans_start = jiffies;
dev584drivers/net/de620.cdev->tbusy = (using_txbuf == (TXBF0 | TXBF1)); /* Boolean! */
dev586drivers/net/de620.c((struct netstats *)(dev->priv))->tx_packets++;
dev603drivers/net/de620.cstruct device *dev = irq2dev_map[irq_in];
dev609drivers/net/de620.cif ((dev == NULL) || (irq != irq_in)) {
dev610drivers/net/de620.cprintk("%s: bogus interrupt %d\n", dev?dev->name:"de620", irq_in);
dev615drivers/net/de620.cdev->interrupt = 1;
dev618drivers/net/de620.cirq_status = de620_get_register(dev, R_STS);
dev624drivers/net/de620.cagain = de620_rx_intr(dev);
dev630drivers/net/de620.cdev->tbusy = (de620_tx_buffs(dev) == (TXBF0 | TXBF1)); /* Boolean! */
dev632drivers/net/de620.cdev->interrupt = 0;
dev645drivers/net/de620.cde620_rx_intr(struct device *dev)
dev661drivers/net/de620.cde620_send_command(dev, W_CR | RRN);
dev662drivers/net/de620.cde620_set_register(dev, W_RSA1, next_rx_page);
dev663drivers/net/de620.cde620_set_register(dev, W_RSA0, 0);
dev666drivers/net/de620.cde620_read_block(dev, (byte *)&header_buf, sizeof(struct header_buf));
dev674drivers/net/de620.cprintk("%s: Ring overrun? Restoring...\n", dev->name);
dev676drivers/net/de620.cadapter_init(dev);
dev677drivers/net/de620.c((struct netstats *)(dev->priv))->rx_over_errors++;
dev693drivers/net/de620.cprintk("%s: Page link out of sync! Restoring...\n", dev->name);
dev695drivers/net/de620.cde620_send_command(dev, W_DUMMY);
dev696drivers/net/de620.cde620_set_register(dev, W_NPRF, next_rx_page);
dev697drivers/net/de620.c((struct netstats *)(dev->priv))->rx_over_errors++;
dev704drivers/net/de620.cprintk("%s: Illegal packet size: %d!\n", dev->name, size);
dev710drivers/net/de620.cdev->name, size);
dev711drivers/net/de620.c((struct netstats *)(dev->priv))->rx_dropped++;
dev715drivers/net/de620.cskb->dev = dev;
dev720drivers/net/de620.cde620_read_block(dev, buffer, size);
dev722drivers/net/de620.cskb->protocol=eth_type_trans(skb,dev);
dev725drivers/net/de620.c((struct netstats *)(dev->priv))->rx_packets++;
dev731drivers/net/de620.ccurr_page = de620_get_register(dev, R_CPR);
dev732drivers/net/de620.cde620_set_register(dev, W_NPRF, next_rx_page);
dev744drivers/net/de620.cadapter_init(struct device *dev)
dev763drivers/net/de620.cde620_send_command(dev, W_CR | RNOP | CLEAR);
dev764drivers/net/de620.cde620_send_command(dev, W_CR | RNOP);
dev766drivers/net/de620.cde620_set_register(dev, W_SCR, SCR_DEF);
dev768drivers/net/de620.cde620_set_register(dev, W_TCR, RXOFF);
dev772drivers/net/de620.cde620_set_register(dev, W_PAR0 + i, dev->dev_addr[i]);
dev775drivers/net/de620.cde620_set_register(dev, W_EIP, EIPRegister);
dev783drivers/net/de620.cde620_set_register(dev, W_SPR, first_rx_page); /* Start Page Register*/
dev784drivers/net/de620.cde620_set_register(dev, W_EPR, last_rx_page);  /* End Page Register */
dev785drivers/net/de620.cde620_set_register(dev, W_CPR, first_rx_page);/*Current Page Register*/
dev786drivers/net/de620.cde620_send_command(dev, W_NPR | first_rx_page); /* Next Page Register*/
dev787drivers/net/de620.cde620_send_command(dev, W_DUMMY);
dev788drivers/net/de620.cde620_set_delay(dev);
dev797drivers/net/de620.cif (((i = de620_get_register(dev, R_STS)) & CHECK_MASK) != CHECK_OK) {
dev805drivers/net/de620.cdev->flags &= ~IFF_UP;
dev806drivers/net/de620.cde620_close(dev);
dev817drivers/net/de620.cde620_set_register(dev, W_TCR, TCR_DEF);
dev832drivers/net/de620.cde620_probe(struct device *dev)
dev842drivers/net/de620.cdev->base_addr = io;
dev843drivers/net/de620.cdev->irq       = irq;
dev852drivers/net/de620.cde620_set_register(dev, W_EIP, EIPRegister);
dev855drivers/net/de620.cde620_set_register(dev, W_CPR, checkbyte);
dev856drivers/net/de620.ccheckbyte = de620_get_register(dev, R_CPR);
dev858drivers/net/de620.cif ((checkbyte != 0xa5) || (read_eeprom(dev) != 0)) {
dev864drivers/net/de620.cif (check_region(dev->base_addr, 3)) {
dev865drivers/net/de620.cprintk(", port 0x%x busy\n", dev->base_addr);
dev869drivers/net/de620.crequest_region(dev->base_addr, 3, "de620");
dev873drivers/net/de620.cdev->dev_addr[0] = nic_data.NodeID[0]);
dev875drivers/net/de620.cprintk(":%2.2X", dev->dev_addr[i] = nic_data.NodeID[i]);
dev876drivers/net/de620.cdev->broadcast[i] = 0xff;
dev889drivers/net/de620.cdev->priv = &de620_netstats;
dev891drivers/net/de620.cmemset(dev->priv, 0, sizeof(struct netstats));
dev892drivers/net/de620.cdev->get_stats = get_stats;
dev893drivers/net/de620.cdev->open = de620_open;
dev894drivers/net/de620.cdev->stop = de620_close;
dev895drivers/net/de620.cdev->hard_start_xmit = &de620_start_xmit;
dev896drivers/net/de620.cdev->set_multicast_list = &de620_set_multicast_list;
dev899drivers/net/de620.cether_setup(dev);
dev923drivers/net/de620.c#define sendit(dev,data) de620_set_register(dev, W_EIP, data | EIPRegister);
dev926drivers/net/de620.cReadAWord(struct device *dev, int from)
dev934drivers/net/de620.csendit(dev, 0); sendit(dev, 1); sendit(dev, 5); sendit(dev, 4);
dev942drivers/net/de620.csendit(dev, 6); sendit(dev, 7); sendit(dev, 7); sendit(dev, 6);
dev948drivers/net/de620.csendit(dev, 4); sendit(dev, 5); sendit(dev, 5); sendit(dev, 4);
dev957drivers/net/de620.csendit(dev, 4); sendit(dev, 5); sendit(dev, 5); sendit(dev, 4);
dev958drivers/net/de620.cdata = (data << 1) | ((de620_get_register(dev, R_STS) & EEDI) >> 7);
dev963drivers/net/de620.csendit(dev, 0); sendit(dev, 1); sendit(dev, 1); sendit(dev, 0);
dev969drivers/net/de620.cread_eeprom(struct device *dev)
dev974drivers/net/de620.cwrd = ReadAWord(dev, 0x1aa);  /* bytes 0 + 1 of NodeID */
dev980drivers/net/de620.cwrd = ReadAWord(dev, 0x1ab);  /* bytes 2 + 3 of NodeID */
dev986drivers/net/de620.cwrd = ReadAWord(dev, 0x1ac);  /* bytes 4 + 5 of NodeID */
dev990drivers/net/de620.cwrd = ReadAWord(dev, 0x1ad);  /* RAM size in pages (256 bytes). 0 = 64k */
dev993drivers/net/de620.cwrd = ReadAWord(dev, 0x1ae);  /* hardware model (CT = 3) */
dev996drivers/net/de620.cwrd = ReadAWord(dev, 0x1af); /* media (indicates BNC/UTP) */
dev999drivers/net/de620.cwrd = ReadAWord(dev, 0x1a8); /* System Configuration Register */
dev360drivers/net/depca.cstatic int    depca_open(struct device *dev);
dev361drivers/net/depca.cstatic int    depca_start_xmit(struct sk_buff *skb, struct device *dev);
dev363drivers/net/depca.cstatic int    depca_close(struct device *dev);
dev364drivers/net/depca.cstatic int    depca_ioctl(struct device *dev, struct ifreq *rq, int cmd);
dev365drivers/net/depca.cstatic struct enet_statistics *depca_get_stats(struct device *dev);
dev366drivers/net/depca.cstatic void   set_multicast_list(struct device *dev);
dev371drivers/net/depca.cstatic int    depca_hw_init(struct device *dev, u_long ioaddr);
dev372drivers/net/depca.cstatic void   depca_init_ring(struct device *dev);
dev373drivers/net/depca.cstatic int    depca_rx(struct device *dev);
dev374drivers/net/depca.cstatic int    depca_tx(struct device *dev);
dev376drivers/net/depca.cstatic void   LoadCSRs(struct device *dev);
dev377drivers/net/depca.cstatic int    InitRestartDepca(struct device *dev);
dev380drivers/net/depca.cstatic int    get_hw_addr(struct device *dev);
dev382drivers/net/depca.cstatic void   SetMulticastFilter(struct device *dev);
dev383drivers/net/depca.cstatic void   isa_probe(struct device *dev, u_long iobase);
dev384drivers/net/depca.cstatic void   eisa_probe(struct device *dev, u_long iobase);
dev385drivers/net/depca.cstatic struct device *alloc_device(struct device *dev, u_long iobase);
dev386drivers/net/depca.cstatic int    load_packet(struct device *dev, struct sk_buff *skb);
dev412drivers/net/depca.cint depca_probe(struct device *dev)
dev415drivers/net/depca.cu_long iobase = dev->base_addr;
dev421drivers/net/depca.cisa_probe(dev, iobase);
dev422drivers/net/depca.ceisa_probe(dev, iobase);
dev425drivers/net/depca.cprintk("%s: depca_probe() cannot find device at 0x%04lx.\n", dev->name, 
dev433drivers/net/depca.cfor (; (dev->priv == NULL) && (dev->next != NULL); dev = dev->next);
dev435drivers/net/depca.cif (dev->priv) status = 0;
dev443drivers/net/depca.cdepca_hw_init(struct device *dev, u_long ioaddr)
dev464drivers/net/depca.cdev->base_addr = ioaddr;
dev468drivers/net/depca.cdev->name, name, ioaddr, (int)((ioaddr>>12)&0x0f));
dev470drivers/net/depca.cprintk("%s: %s at 0x%04lx", dev->name, name, ioaddr);
dev474drivers/net/depca.cstatus = get_hw_addr(dev);
dev476drivers/net/depca.cprintk("%2.2x:", dev->dev_addr[i]);
dev478drivers/net/depca.cprintk("%2.2x", dev->dev_addr[i]);
dev506drivers/net/depca.cdev->priv = (void *) kmalloc(sizeof(struct depca_private), GFP_KERNEL);
dev507drivers/net/depca.cif (dev->priv == NULL)
dev509drivers/net/depca.clp = (struct depca_private *)dev->priv;
dev510drivers/net/depca.cmemset((char *)dev->priv, 0, sizeof(struct depca_private));
dev512drivers/net/depca.csprintf(lp->adapter_name,"%s (%s)", name, dev->name);
dev547drivers/net/depca.cdepca_init_ring(dev);
dev550drivers/net/depca.cLoadCSRs(dev);
dev558drivers/net/depca.cif (dev->irq < 2) {
dev589drivers/net/depca.cfor (dev->irq=0,i=0; (depca_irq[i]) && (!dev->irq); i++) {
dev591drivers/net/depca.cdev->irq = irqnum;
dev592drivers/net/depca.cprintk("      and uses IRQ%d.\n", dev->irq);
dev596drivers/net/depca.cif (!dev->irq) {
dev603drivers/net/depca.cprintk(" and assigned IRQ%d.\n", dev->irq);
dev622drivers/net/depca.cdev->open = &depca_open;
dev623drivers/net/depca.cdev->hard_start_xmit = &depca_start_xmit;
dev624drivers/net/depca.cdev->stop = &depca_close;
dev625drivers/net/depca.cdev->get_stats = &depca_get_stats;
dev626drivers/net/depca.cdev->set_multicast_list = &set_multicast_list;
dev627drivers/net/depca.cdev->do_ioctl = &depca_ioctl;
dev629drivers/net/depca.cdev->mem_start = 0;
dev632drivers/net/depca.cether_setup(dev);
dev634drivers/net/depca.cif (dev->priv) {
dev635drivers/net/depca.ckfree_s(dev->priv, sizeof(struct depca_private));
dev636drivers/net/depca.cdev->priv = NULL;
dev648drivers/net/depca.cdepca_open(struct device *dev)
dev650drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev652drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev656drivers/net/depca.cif (request_irq(dev->irq, &depca_interrupt, 0, lp->adapter_name)) {
dev657drivers/net/depca.cprintk("depca_open(): Requested IRQ%d is busy\n",dev->irq);
dev661drivers/net/depca.cirq2dev_map[dev->irq] = dev;
dev672drivers/net/depca.cdepca_init_ring(dev);
dev673drivers/net/depca.cLoadCSRs(dev);
dev679drivers/net/depca.cprintk("%s: depca open with irq %d\n",dev->name,dev->irq);
dev745drivers/net/depca.cdev->tbusy = 0;                         
dev746drivers/net/depca.cdev->interrupt = 0;
dev747drivers/net/depca.cdev->start = 1;
dev749drivers/net/depca.cstatus = InitRestartDepca(dev);
dev763drivers/net/depca.cdepca_init_ring(struct device *dev)
dev765drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev770drivers/net/depca.cset_bit(0, (void *)&dev->tbusy);
dev791drivers/net/depca.cSetMulticastFilter(dev);
dev794drivers/net/depca.clp->init_block.phys_addr[i] = dev->dev_addr[i];
dev806drivers/net/depca.cdepca_start_xmit(struct sk_buff *skb, struct device *dev)
dev808drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev809drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev813drivers/net/depca.cif (dev->tbusy) {
dev814drivers/net/depca.cint tickssofar = jiffies - dev->trans_start;
dev819drivers/net/depca.cdev->name, inw(DEPCA_DATA));
dev822drivers/net/depca.cdepca_init_ring(dev);
dev823drivers/net/depca.cLoadCSRs(dev);
dev824drivers/net/depca.cdev->interrupt = UNMASK_INTERRUPTS;
dev825drivers/net/depca.cdev->start = 1;
dev826drivers/net/depca.cdev->tbusy=0;
dev827drivers/net/depca.cdev->trans_start = jiffies;
dev828drivers/net/depca.cInitRestartDepca(dev);
dev832drivers/net/depca.cdev_tint(dev);
dev835drivers/net/depca.cif (set_bit(0, (void*)&dev->tbusy) != 0) {
dev836drivers/net/depca.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev840drivers/net/depca.cstatus = load_packet(dev, skb);
dev847drivers/net/depca.cdev->trans_start = jiffies;
dev851drivers/net/depca.cdev->tbusy=0;
dev868drivers/net/depca.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev873drivers/net/depca.cif (dev == NULL) {
dev876drivers/net/depca.clp = (struct depca_private *)dev->priv;
dev877drivers/net/depca.cioaddr = dev->base_addr;
dev879drivers/net/depca.cif (dev->interrupt)
dev880drivers/net/depca.cprintk("%s: Re-entering the interrupt handler.\n", dev->name);
dev882drivers/net/depca.cdev->interrupt = MASK_INTERRUPTS;
dev896drivers/net/depca.cdepca_rx(dev);
dev899drivers/net/depca.cdepca_tx(dev);
dev901drivers/net/depca.cif ((TX_BUFFS_AVAIL >= 0) && dev->tbusy) { /* any resources available? */
dev902drivers/net/depca.cdev->tbusy = 0;                  /* clear TX busy flag */
dev910drivers/net/depca.cdev->interrupt = UNMASK_INTERRUPTS;
dev917drivers/net/depca.cdepca_rx(struct device *dev)
dev919drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev946drivers/net/depca.cskb->dev = dev;
dev959drivers/net/depca.cskb->protocol=eth_type_trans(skb,dev);
dev978drivers/net/depca.c} else if ((*(s16 *)&buf[0] == *(s16 *)&dev->dev_addr[0]) &&
dev979drivers/net/depca.c(*(s32 *)&buf[2] == *(s32 *)&dev->dev_addr[2])) {
dev988drivers/net/depca.cprintk("%s: Memory squeeze, deferring packet.\n", dev->name);
dev1014drivers/net/depca.cdepca_tx(struct device *dev)
dev1016drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1019drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev1052drivers/net/depca.cdepca_close(struct device *dev)
dev1054drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1056drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev1058drivers/net/depca.cdev->start = 0;
dev1059drivers/net/depca.cdev->tbusy = 1;
dev1065drivers/net/depca.cdev->name, inw(DEPCA_DATA));
dev1086drivers/net/depca.cfree_irq(dev->irq);
dev1087drivers/net/depca.cirq2dev_map[dev->irq] = NULL;
dev1094drivers/net/depca.cstatic void LoadCSRs(struct device *dev)
dev1096drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1097drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev1111drivers/net/depca.cstatic int InitRestartDepca(struct device *dev)
dev1113drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1114drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev1131drivers/net/depca.cdev->name, i, lp->sh_mem, inw(DEPCA_DATA));
dev1135drivers/net/depca.cdev->name, i, lp->sh_mem, inw(DEPCA_DATA));
dev1143drivers/net/depca.cdepca_get_stats(struct device *dev)
dev1145drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1156drivers/net/depca.cset_multicast_list(struct device *dev)
dev1158drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1159drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev1161drivers/net/depca.cif (irq2dev_map[dev->irq] != NULL) {
dev1162drivers/net/depca.cwhile(dev->tbusy);                /* Stop ring access */
dev1163drivers/net/depca.cset_bit(0, (void*)&dev->tbusy);
dev1167drivers/net/depca.cdepca_init_ring(dev);             /* Initialize the descriptor rings */
dev1169drivers/net/depca.cif (dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) 
dev1175drivers/net/depca.cSetMulticastFilter(dev);
dev1178drivers/net/depca.cLoadCSRs(dev);                    /* Reload CSR3 */
dev1179drivers/net/depca.cInitRestartDepca(dev);            /* Resume normal operation. */
dev1180drivers/net/depca.cdev->tbusy = 0;                   /* Unlock the TX ring */
dev1190drivers/net/depca.cstatic void SetMulticastFilter(struct device *dev)
dev1192drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1196drivers/net/depca.cstruct dev_mc_list *dmi=dev->mc_list;
dev1198drivers/net/depca.cif (dev->mc_count >= HASH_TABLE_LEN) 
dev1212drivers/net/depca.cfor (i=0;i<dev->mc_count;i++) {            /* for each address in the list */
dev1244drivers/net/depca.cstatic void isa_probe(struct device *dev, u_long ioaddr)
dev1260drivers/net/depca.cfor (; (i<maxSlots) && (dev!=NULL) && ports[i]; i++) {
dev1263drivers/net/depca.cif ((dev = alloc_device(dev, ports[i])) != NULL) {
dev1264drivers/net/depca.cif (depca_hw_init(dev, ports[i]) == 0) {
dev1270drivers/net/depca.cprintk("%s: region already allocated at 0x%04x.\n", dev->name,ports[i]);
dev1282drivers/net/depca.cstatic void eisa_probe(struct device *dev, u_long ioaddr)
dev1302drivers/net/depca.cfor (; (i<maxSlots) && (dev!=NULL); i++, iobase+=EISA_SLOT_INC) {
dev1306drivers/net/depca.cif ((dev = alloc_device(dev, iobase)) != NULL) {
dev1307drivers/net/depca.cif (depca_hw_init(dev, iobase) == 0) {
dev1313drivers/net/depca.cprintk("%s: region already allocated at 0x%04lx.\n",dev->name,iobase);
dev1326drivers/net/depca.cstatic struct device *alloc_device(struct device *dev, u_long iobase)
dev1336drivers/net/depca.cwhile (dev->next != NULL) {
dev1337drivers/net/depca.cif ((dev->base_addr == DEPCA_NDA) || (dev->base_addr == 0)) break;
dev1338drivers/net/depca.cdev = dev->next;                     /* walk through eth device list */
dev1346drivers/net/depca.cif ((dev->base_addr == 0) && (num_depcas > 0)) {
dev1348drivers/net/depca.ctmp = dev->next;                     /* point to the next device */
dev1349drivers/net/depca.cinit = dev->init;                    /* remember the probe function */
dev1356drivers/net/depca.cif ((dev->next == NULL) &&  
dev1357drivers/net/depca.c!((dev->base_addr == DEPCA_NDA) || (dev->base_addr == 0))){
dev1358drivers/net/depca.cdev->next = (struct device *)kmalloc(sizeof(struct device) + 8,
dev1361drivers/net/depca.cdev = dev->next;                     /* point to the new device */
dev1362drivers/net/depca.cif (dev == NULL) {
dev1371drivers/net/depca.cdev->name = (char *)(dev + sizeof(struct device));
dev1373drivers/net/depca.csprintf(dev->name,"eth????");    /* New device name */
dev1375drivers/net/depca.csprintf(dev->name,"eth%d", num_eth);/* New device name */
dev1377drivers/net/depca.cdev->base_addr = iobase;           /* assign the io address */
dev1378drivers/net/depca.cdev->next = NULL;                  /* mark the end of list */
dev1379drivers/net/depca.cdev->init = &depca_probe;          /* initialisation routine */
dev1383drivers/net/depca.cret = dev;                             /* return current struct, or NULL */
dev1403drivers/net/depca.cdev->name);
dev1426drivers/net/depca.cret = dev;
dev1489drivers/net/depca.c} dev;
dev1504drivers/net/depca.cdev.llsig.a = ETH_PROM_SIG;
dev1505drivers/net/depca.cdev.llsig.b = ETH_PROM_SIG;
dev1510drivers/net/depca.cif (dev.Sig[j] == data) {    /* track signature */
dev1513drivers/net/depca.cif (data == dev.Sig[0]) {  /* rare case.... */
dev1533drivers/net/depca.cstatic int get_hw_addr(struct device *dev)
dev1535drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev1546drivers/net/depca.cdev->dev_addr[i++] = (u_char) tmp;
dev1548drivers/net/depca.cdev->dev_addr[i++] = (u_char) tmp;
dev1564drivers/net/depca.cstatic int load_packet(struct device *dev, struct sk_buff *skb)
dev1566drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1656drivers/net/depca.cstatic int depca_ioctl(struct device *dev, struct ifreq *rq, int cmd)
dev1658drivers/net/depca.cstruct depca_private *lp = (struct depca_private *)dev->priv;
dev1661drivers/net/depca.cu_long ioaddr = dev->base_addr;
dev1671drivers/net/depca.ctmp.addr[i] = dev->dev_addr[i];
dev1684drivers/net/depca.cdev->dev_addr[i] = tmp.addr[i];
dev1686drivers/net/depca.cwhile(dev->tbusy);              /* Stop ring access */
dev1687drivers/net/depca.cset_bit(0, (void*)&dev->tbusy);
dev1691drivers/net/depca.cdepca_init_ring(dev);           /* Initialize the descriptor rings */
dev1692drivers/net/depca.cLoadCSRs(dev);                  /* Reload CSR3 */
dev1693drivers/net/depca.cInitRestartDepca(dev);          /* Resume normal operation. */
dev1694drivers/net/depca.cdev->tbusy = 0;                 /* Unlock the TX ring */
dev1703drivers/net/depca.cwhile(dev->tbusy);                /* Stop ring access */
dev1704drivers/net/depca.cset_bit(0, (void*)&dev->tbusy);
dev1708drivers/net/depca.cdepca_init_ring(dev);             /* Initialize the descriptor rings */
dev1711drivers/net/depca.cLoadCSRs(dev);                    /* Reload CSR3 */
dev1712drivers/net/depca.cInitRestartDepca(dev);            /* Resume normal operation. */
dev1713drivers/net/depca.cdev->tbusy = 0;                   /* Unlock the TX ring */
dev1721drivers/net/depca.cwhile(dev->tbusy);                /* Stop ring access */
dev1722drivers/net/depca.cset_bit(0, (void*)&dev->tbusy);
dev1726drivers/net/depca.cdepca_init_ring(dev);             /* Initialize the descriptor rings */
dev1729drivers/net/depca.cLoadCSRs(dev);                    /* Reload CSR3 */
dev1730drivers/net/depca.cInitRestartDepca(dev);            /* Resume normal operation. */
dev1731drivers/net/depca.cdev->tbusy = 0;                   /* Unlock the TX ring */
dev1738drivers/net/depca.cprintk("%s: Boo!\n", dev->name);
dev1754drivers/net/depca.cset_multicast_list(dev, ioc->len, tmp.addr);
dev1757drivers/net/depca.cset_multicast_list(dev, ioc->len, NULL);
dev1766drivers/net/depca.cset_multicast_list(dev, 0, NULL);
dev1774drivers/net/depca.cset_multicast_list(dev, HASH_TABLE_LEN, NULL);
dev56drivers/net/dummy.cstatic int dummy_xmit(struct sk_buff *skb, struct device *dev);
dev58drivers/net/dummy.cstatic struct enet_statistics *dummy_get_stats(struct device *dev);
dev62drivers/net/dummy.cstatic int dummy_open(struct device *dev)
dev68drivers/net/dummy.cstatic int dummy_close(struct device *dev)
dev76drivers/net/dummy.cint dummy_init(struct device *dev)
dev83drivers/net/dummy.cdev->hard_start_xmit  = dummy_xmit;
dev86drivers/net/dummy.cdev->priv = kmalloc(sizeof(struct enet_statistics), GFP_KERNEL);
dev87drivers/net/dummy.cif (dev->priv == NULL)
dev89drivers/net/dummy.cmemset(dev->priv, 0, sizeof(struct enet_statistics));
dev90drivers/net/dummy.cdev->get_stats    = dummy_get_stats;
dev93drivers/net/dummy.cdev->open = &dummy_open;
dev94drivers/net/dummy.cdev->stop = &dummy_close;
dev98drivers/net/dummy.cether_setup(dev);
dev99drivers/net/dummy.cdev->flags |= IFF_NOARP;
dev105drivers/net/dummy.cdummy_xmit(struct sk_buff *skb, struct device *dev)
dev111drivers/net/dummy.cif (skb == NULL || dev == NULL)
dev117drivers/net/dummy.cstats = (struct enet_statistics *)dev->priv;
dev126drivers/net/dummy.cdummy_get_stats(struct device *dev)
dev128drivers/net/dummy.cstruct enet_statistics *stats = (struct enet_statistics*) dev->priv;
dev135drivers/net/dummy.cstatic int dummy_probe(struct device *dev)
dev137drivers/net/dummy.cdummy_init(dev);
dev96drivers/net/e2100.cint e2100_probe(struct device *dev);
dev97drivers/net/e2100.cint e21_probe1(struct device *dev, int ioaddr);
dev99drivers/net/e2100.cstatic int e21_open(struct device *dev);
dev100drivers/net/e2100.cstatic void e21_reset_8390(struct device *dev);
dev101drivers/net/e2100.cstatic void e21_block_input(struct device *dev, int count,
dev103drivers/net/e2100.cstatic void e21_block_output(struct device *dev, int count,
dev105drivers/net/e2100.cstatic void e21_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr,
dev108drivers/net/e2100.cstatic int e21_close(struct device *dev);
dev118drivers/net/e2100.cint e2100_probe(struct device *dev)
dev121drivers/net/e2100.cint base_addr = dev->base_addr;
dev124drivers/net/e2100.creturn e21_probe1(dev, base_addr);
dev131drivers/net/e2100.cif (e21_probe1(dev, *port) == 0)
dev138drivers/net/e2100.cint e21_probe1(struct device *dev, int ioaddr)
dev141drivers/net/e2100.cunsigned char *station_addr = dev->dev_addr;
dev168drivers/net/e2100.cif (dev == NULL) {
dev170drivers/net/e2100.cdev = init_etherdev(0, 0);
dev173drivers/net/e2100.cprintk("%s: E21** at %#3x,", dev->name, ioaddr);
dev177drivers/net/e2100.cif (dev->irq < 2) {
dev181drivers/net/e2100.cdev->irq = irqlist[i];
dev185drivers/net/e2100.cprintk(" unable to get IRQ %d.\n", dev->irq);
dev188drivers/net/e2100.c} else if (dev->irq == 2)  /* Fixup luser bogosity: IRQ2 is really IRQ9 */
dev189drivers/net/e2100.cdev->irq = 9;
dev192drivers/net/e2100.cif (ethdev_init(dev)) {
dev201drivers/net/e2100.cdev->base_addr = ioaddr;
dev208drivers/net/e2100.cei_status.saved_irq = dev->irq;
dev212drivers/net/e2100.cif (dev->mem_end & 15)
dev213drivers/net/e2100.cdev->if_port = dev->mem_end & 7;
dev215drivers/net/e2100.cdev->if_port = 0;
dev219drivers/net/e2100.cdev->if_port = 1;
dev227drivers/net/e2100.cif (dev->mem_start == 0)
dev228drivers/net/e2100.cdev->mem_start = 0xd0000;
dev233drivers/net/e2100.cdev->rmem_start = dev->mem_start + TX_PAGES*256;
dev234drivers/net/e2100.cdev->mem_end = dev->rmem_end = dev->mem_start + 2*1024;
dev237drivers/net/e2100.cprintk(", IRQ %d, %s media, memory @ %#lx.\n", dev->irq,
dev238drivers/net/e2100.cdev->if_port ? "secondary" : "primary", dev->mem_start);
dev244drivers/net/e2100.cdev->open = &e21_open;
dev245drivers/net/e2100.cdev->stop = &e21_close;
dev246drivers/net/e2100.cNS8390_init(dev, 0);
dev252drivers/net/e2100.ce21_open(struct device *dev)
dev254drivers/net/e2100.cshort ioaddr = dev->base_addr;
dev256drivers/net/e2100.cif (request_irq(dev->irq, ei_interrupt, 0, "e2100")) {
dev259drivers/net/e2100.cirq2dev_map[dev->irq] = dev;
dev263drivers/net/e2100.coutb(0, ioaddr + E21_ASIC + (dev->irq & 7));
dev265drivers/net/e2100.coutb(0, ioaddr + E21_ASIC + (dev->irq > 7 ? 1:0)
dev266drivers/net/e2100.c+ (dev->if_port ? E21_ALT_IFPORT : 0));
dev268drivers/net/e2100.coutb(0, ioaddr + E21_ASIC + ((dev->mem_start >> 17) & 7));
dev270drivers/net/e2100.cei_open(dev);
dev276drivers/net/e2100.ce21_reset_8390(struct device *dev)
dev278drivers/net/e2100.cshort ioaddr = dev->base_addr;
dev294drivers/net/e2100.ce21_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr, int ring_page)
dev297drivers/net/e2100.cshort ioaddr = dev->base_addr;
dev298drivers/net/e2100.cchar *shared_mem = (char *)dev->mem_start;
dev313drivers/net/e2100.ce21_block_input(struct device *dev, int count, struct sk_buff *skb, int ring_offset)
dev315drivers/net/e2100.cshort ioaddr = dev->base_addr;
dev316drivers/net/e2100.cchar *shared_mem = (char *)dev->mem_start;
dev321drivers/net/e2100.ceth_io_copy_and_sum(skb, dev->mem_start + (ring_offset & 0xff), count, 0);
dev327drivers/net/e2100.ce21_block_output(struct device *dev, int count, const unsigned char *buf,
dev330drivers/net/e2100.cshort ioaddr = dev->base_addr;
dev331drivers/net/e2100.cvolatile char *shared_mem = (char *)dev->mem_start;
dev343drivers/net/e2100.ce21_close(struct device *dev)
dev345drivers/net/e2100.cshort ioaddr = dev->base_addr;
dev348drivers/net/e2100.cprintk("%s: Shutting down ethercard.\n", dev->name);
dev350drivers/net/e2100.cfree_irq(dev->irq);
dev351drivers/net/e2100.cdev->irq = ei_status.saved_irq;
dev359drivers/net/e2100.cirq2dev_map[dev->irq] = NULL;
dev361drivers/net/e2100.cei_close(dev);
dev404drivers/net/e2100.cstruct device *dev = &dev_e21[this_dev];
dev405drivers/net/e2100.cdev->name = namelist+(NAMELEN*this_dev);
dev406drivers/net/e2100.cdev->irq = irq[this_dev];
dev407drivers/net/e2100.cdev->base_addr = io[this_dev];
dev408drivers/net/e2100.cdev->mem_start = mem[this_dev];
dev409drivers/net/e2100.cdev->mem_end = xcvr[this_dev];  /* low 4bits = xcvr sel. */
dev410drivers/net/e2100.cdev->init = e2100_probe;
dev415drivers/net/e2100.cif (register_netdev(dev) != 0) {
dev432drivers/net/e2100.cstruct device *dev = &dev_e21[this_dev];
dev433drivers/net/e2100.cif (dev->priv != NULL) {
dev435drivers/net/e2100.ckfree(dev->priv);
dev436drivers/net/e2100.cdev->priv = NULL;
dev437drivers/net/e2100.crelease_region(dev->base_addr, E21_IO_EXTENT);
dev438drivers/net/e2100.cunregister_netdev(dev);
dev133drivers/net/eepro.cextern int eepro_probe(struct device *dev);  
dev135drivers/net/eepro.cstatic int  eepro_probe1(struct device *dev, short ioaddr);
dev136drivers/net/eepro.cstatic int  eepro_open(struct device *dev);
dev137drivers/net/eepro.cstatic int  eepro_send_packet(struct sk_buff *skb, struct device *dev);
dev139drivers/net/eepro.cstatic void   eepro_rx(struct device *dev);
dev140drivers/net/eepro.cstatic void   eepro_transmit_interrupt(struct device *dev);
dev141drivers/net/eepro.cstatic int  eepro_close(struct device *dev);
dev142drivers/net/eepro.cstatic struct enet_statistics *eepro_get_stats(struct device *dev);
dev143drivers/net/eepro.cstatic void set_multicast_list(struct device *dev);
dev146drivers/net/eepro.cstatic void hardware_send_packet(struct device *dev, void *buf, short length);
dev147drivers/net/eepro.cstatic int  eepro_grab_irq(struct device *dev);
dev276drivers/net/eepro.ceepro_probe(struct device *dev)
dev279drivers/net/eepro.cint base_addr = dev ? dev->base_addr : 0;
dev282drivers/net/eepro.creturn eepro_probe1(dev, base_addr);
dev290drivers/net/eepro.cif (eepro_probe1(dev, ioaddr) == 0)
dev302drivers/net/eepro.cint eepro_probe1(struct device *dev, short ioaddr)
dev338drivers/net/eepro.cdev->name, ioaddr);
dev343drivers/net/eepro.cdev->name, ioaddr);
dev347drivers/net/eepro.cdev->base_addr = ioaddr;
dev350drivers/net/eepro.cdev->dev_addr[i] = ((unsigned char *) station_addr)[5-i];
dev351drivers/net/eepro.cprintk("%c%02x", i ? ':' : ' ', dev->dev_addr[i]);
dev357drivers/net/eepro.cdev->if_port = TPE;
dev358drivers/net/eepro.celse dev->if_port = BNC;
dev360drivers/net/eepro.cif (dev->irq < 2 && eepro) {
dev363drivers/net/eepro.ccase 0:  dev->irq = 9; break;
dev364drivers/net/eepro.ccase 1:  dev->irq = 3; break;
dev365drivers/net/eepro.ccase 2:  dev->irq = 5; break;
dev366drivers/net/eepro.ccase 3:  dev->irq = 10; break;
dev367drivers/net/eepro.ccase 4:  dev->irq = 11; break;
dev373drivers/net/eepro.celse if (dev->irq == 2)
dev374drivers/net/eepro.cdev->irq = 9;
dev376drivers/net/eepro.cif (dev->irq > 2) {
dev377drivers/net/eepro.cprintk(", IRQ %d, %s.\n", dev->irq,
dev378drivers/net/eepro.cifmap[dev->if_port]);
dev379drivers/net/eepro.cif (request_irq(dev->irq, &eepro_interrupt, 0, "eepro")) {
dev380drivers/net/eepro.cprintk("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
dev384drivers/net/eepro.celse printk(", %s.\n", ifmap[dev->if_port]);
dev386drivers/net/eepro.cif ((dev->mem_start & 0xf) > 0)
dev387drivers/net/eepro.cnet_debug = dev->mem_start & 7;
dev393drivers/net/eepro.cdev->name);
dev403drivers/net/eepro.cdev->priv = kmalloc(sizeof(struct eepro_local), GFP_KERNEL);
dev404drivers/net/eepro.cif (dev->priv == NULL)
dev406drivers/net/eepro.cmemset(dev->priv, 0, sizeof(struct eepro_local));
dev408drivers/net/eepro.cdev->open = eepro_open;
dev409drivers/net/eepro.cdev->stop = eepro_close;
dev410drivers/net/eepro.cdev->hard_start_xmit = eepro_send_packet;
dev411drivers/net/eepro.cdev->get_stats = eepro_get_stats;
dev412drivers/net/eepro.cdev->set_multicast_list = &set_multicast_list;
dev417drivers/net/eepro.cether_setup(dev);
dev439drivers/net/eepro.cstatic int  eepro_grab_irq(struct device *dev)
dev442drivers/net/eepro.cint *irqp = irqlist, temp_reg, ioaddr = dev->base_addr;
dev472drivers/net/eepro.c(request_irq(dev->irq = *irqp, &eepro_interrupt, 0, "eepro") == 0)) 
dev494drivers/net/eepro.creturn dev->irq;
dev498drivers/net/eepro.ceepro_open(struct device *dev)
dev501drivers/net/eepro.cint i, ioaddr = dev->base_addr;
dev502drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev507drivers/net/eepro.cif (dev->dev_addr[0] == SA_ADDR0 &&
dev508drivers/net/eepro.cdev->dev_addr[1] == SA_ADDR1 &&
dev509drivers/net/eepro.cdev->dev_addr[2] == SA_ADDR2)
dev514drivers/net/eepro.cif (dev->irq < 2 && eepro_grab_irq(dev) == 0) {
dev515drivers/net/eepro.cprintk("%s: unable to get IRQ %d.\n", dev->name, dev->irq);
dev519drivers/net/eepro.cif (irq2dev_map[dev->irq] != 0
dev520drivers/net/eepro.c|| (irq2dev_map[dev->irq] = dev) == 0)
dev530drivers/net/eepro.coutb(dev->dev_addr[i] , ioaddr + I_ADD_REG0 + i); 
dev546drivers/net/eepro.coutb((temp_reg & 0xf8) | irqrmap[dev->irq], ioaddr + INT_NO_REG); 
dev581drivers/net/eepro.cdev->tbusy = 0;
dev582drivers/net/eepro.cdev->interrupt = 0;
dev583drivers/net/eepro.cdev->start = 1;
dev595drivers/net/eepro.ceepro_send_packet(struct sk_buff *skb, struct device *dev)
dev597drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev598drivers/net/eepro.cint ioaddr = dev->base_addr;
dev603drivers/net/eepro.cif (dev->tbusy) {
dev606drivers/net/eepro.cint tickssofar = jiffies - dev->trans_start;
dev610drivers/net/eepro.cprintk("%s: transmit timed out, %s?\n", dev->name,
dev623drivers/net/eepro.cdev->tbusy=0;
dev624drivers/net/eepro.cdev->trans_start = jiffies;
dev634drivers/net/eepro.cdev_tint(dev);
dev639drivers/net/eepro.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev640drivers/net/eepro.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev645drivers/net/eepro.chardware_send_packet(dev, buf, length);
dev646drivers/net/eepro.cdev->trans_start = jiffies;
dev666drivers/net/eepro.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev672drivers/net/eepro.cif (dev == NULL) {
dev676drivers/net/eepro.cdev->interrupt = 1;
dev678drivers/net/eepro.cioaddr = dev->base_addr;
dev691drivers/net/eepro.ceepro_rx(dev);
dev701drivers/net/eepro.ceepro_transmit_interrupt(dev);
dev702drivers/net/eepro.cdev->tbusy = 0;
dev707drivers/net/eepro.cdev->interrupt = 0;
dev715drivers/net/eepro.ceepro_close(struct device *dev)
dev717drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev718drivers/net/eepro.cint ioaddr = dev->base_addr;
dev721drivers/net/eepro.cdev->tbusy = 1;
dev722drivers/net/eepro.cdev->start = 0;
dev747drivers/net/eepro.cfree_irq(dev->irq);
dev749drivers/net/eepro.cirq2dev_map[dev->irq] = 0;
dev764drivers/net/eepro.ceepro_get_stats(struct device *dev)
dev766drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev774drivers/net/eepro.cset_multicast_list(struct device *dev)
dev776drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev777drivers/net/eepro.cshort ioaddr = dev->base_addr;
dev779drivers/net/eepro.cstruct dev_mc_list *dmi=dev->mc_list;
dev781drivers/net/eepro.cif (dev->flags&(IFF_ALLMULTI|IFF_PROMISC) || dev->mc_count > 63) 
dev789drivers/net/eepro.cdev->flags|=IFF_PROMISC;    
dev797drivers/net/eepro.cprintk("%s: promiscuous mode enabled.\n", dev->name);
dev799drivers/net/eepro.celse if (dev->mc_count==0 ) 
dev828drivers/net/eepro.coutw(6*(dev->mc_count + 1), ioaddr + IO_PORT);
dev829drivers/net/eepro.cfor (i = 0; i < dev->mc_count; i++) 
dev837drivers/net/eepro.ceaddrs = (unsigned short *) dev->dev_addr;
dev845drivers/net/eepro.ci = lp->tx_end + XMT_HEADER + 6*(dev->mc_count + 1);
dev869drivers/net/eepro.cdev->name);
dev873drivers/net/eepro.cdev->name, dev->mc_count);
dev934drivers/net/eepro.chardware_send_packet(struct device *dev, void *buf, short length)
dev936drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev937drivers/net/eepro.cshort ioaddr = dev->base_addr;
dev1009drivers/net/eepro.cif (dev->tbusy) {
dev1010drivers/net/eepro.cdev->tbusy = 0;
dev1018drivers/net/eepro.cdev->tbusy = 1;
dev1024drivers/net/eepro.ceepro_rx(struct device *dev)
dev1026drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev1027drivers/net/eepro.cshort ioaddr = dev->base_addr;
dev1051drivers/net/eepro.cprintk("%s: Memory squeeze, dropping packet.\n", dev->name);
dev1055drivers/net/eepro.cskb->dev = dev;
dev1060drivers/net/eepro.cskb->protocol = eth_type_trans(skb,dev);  
dev1074drivers/net/eepro.cdev->name, rcv_event, rcv_status, rcv_next_frame, rcv_size);
dev1096drivers/net/eepro.ceepro_transmit_interrupt(struct device *dev)
dev1098drivers/net/eepro.cstruct eepro_local *lp = (struct eepro_local *)dev->priv;
dev1099drivers/net/eepro.cshort ioaddr = dev->base_addr;
dev1111drivers/net/eepro.cif (dev->tbusy) {
dev1112drivers/net/eepro.cdev->tbusy = 0;
dev1123drivers/net/eepro.cdev->name, xmt_status);
dev284drivers/net/eexpress.cextern int express_probe(struct device *dev);  /* Called from Space.c */
dev286drivers/net/eexpress.cstatic int  eexp_probe1(struct device *dev, short ioaddr);
dev287drivers/net/eexpress.cstatic int  eexp_open(struct device *dev);
dev288drivers/net/eexpress.cstatic int  eexp_send_packet(struct sk_buff *skb, struct device *dev);
dev290drivers/net/eexpress.cstatic void eexp_rx(struct device *dev);
dev291drivers/net/eexpress.cstatic int  eexp_close(struct device *dev);
dev292drivers/net/eexpress.cstatic struct enet_statistics *eexp_get_stats(struct device *dev);
dev293drivers/net/eexpress.cstatic void set_multicast_list(struct device *dev);
dev296drivers/net/eexpress.cstatic void hardware_send_packet(struct device *dev, void *buf, short length);
dev297drivers/net/eexpress.cstatic void init_82586_mem(struct device *dev);
dev298drivers/net/eexpress.cstatic void init_rx_bufs(struct device *dev);
dev308drivers/net/eexpress.cexpress_probe(struct device *dev)
dev312drivers/net/eexpress.cint base_addr = dev->base_addr;
dev315drivers/net/eexpress.creturn eexp_probe1(dev, base_addr);
dev334drivers/net/eexpress.c&& eexp_probe1(dev, *port) == 0)
dev341drivers/net/eexpress.cint eexp_probe1(struct device *dev, short ioaddr)
dev346drivers/net/eexpress.cprintk("%s: EtherExpress at %#x,", dev->name, ioaddr);
dev363drivers/net/eexpress.cdev->base_addr = ioaddr;
dev366drivers/net/eexpress.cdev->dev_addr[i] = ((unsigned char*)station_addr)[5-i];
dev367drivers/net/eexpress.cprintk(" %02x", dev->dev_addr[i]);
dev378drivers/net/eexpress.cdev->irq = irqmap[setupval >> 13];
dev379drivers/net/eexpress.cdev->if_port = (setupval & 0x1000) == 0 ? AUI :
dev381drivers/net/eexpress.cprintk(", IRQ %d, Interface %s.\n", dev->irq, ifmap[dev->if_port]);
dev390drivers/net/eexpress.cif ((dev->mem_start & 0xf) > 0)
dev391drivers/net/eexpress.cnet_debug = dev->mem_start & 7;
dev397drivers/net/eexpress.cdev->priv = kmalloc(sizeof(struct net_local), GFP_KERNEL);
dev398drivers/net/eexpress.cif (dev->priv == NULL)
dev400drivers/net/eexpress.cmemset(dev->priv, 0, sizeof(struct net_local));
dev402drivers/net/eexpress.cdev->open    = eexp_open;
dev403drivers/net/eexpress.cdev->stop    = eexp_close;
dev404drivers/net/eexpress.cdev->hard_start_xmit = eexp_send_packet;
dev405drivers/net/eexpress.cdev->get_stats  = eexp_get_stats;
dev406drivers/net/eexpress.cdev->set_multicast_list = &set_multicast_list;
dev410drivers/net/eexpress.cether_setup(dev);
dev412drivers/net/eexpress.cdev->flags&=~IFF_MULTICAST;
dev422drivers/net/eexpress.ceexp_open(struct device *dev)
dev424drivers/net/eexpress.cint ioaddr = dev->base_addr;
dev426drivers/net/eexpress.cif (dev->irq == 0  ||  irqrmap[dev->irq] == 0)
dev429drivers/net/eexpress.cif (irq2dev_map[dev->irq] != 0
dev431drivers/net/eexpress.c|| (irq2dev_map[dev->irq] = dev) == 0
dev432drivers/net/eexpress.c|| request_irq(dev->irq, &eexp_interrupt, 0, "EExpress")) {
dev437drivers/net/eexpress.cinit_82586_mem(dev);
dev440drivers/net/eexpress.coutb(irqrmap[dev->irq] | 0x08, ioaddr + SET_IRQ);
dev442drivers/net/eexpress.cdev->tbusy = 0;
dev443drivers/net/eexpress.cdev->interrupt = 0;
dev444drivers/net/eexpress.cdev->start = 1;
dev450drivers/net/eexpress.ceexp_send_packet(struct sk_buff *skb, struct device *dev)
dev452drivers/net/eexpress.cstruct net_local *lp = (struct net_local *)dev->priv;
dev453drivers/net/eexpress.cint ioaddr = dev->base_addr;
dev455drivers/net/eexpress.cif (dev->tbusy) {
dev458drivers/net/eexpress.cint tickssofar = jiffies - dev->trans_start;
dev462drivers/net/eexpress.cprintk("%s: transmit timed out, %s?  ", dev->name,
dev470drivers/net/eexpress.cinit_82586_mem(dev);
dev478drivers/net/eexpress.cdev->tbusy=0;
dev479drivers/net/eexpress.cdev->trans_start = jiffies;
dev486drivers/net/eexpress.cdev_tint(dev);
dev491drivers/net/eexpress.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev492drivers/net/eexpress.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev498drivers/net/eexpress.coutb(irqrmap[dev->irq], ioaddr + SET_IRQ);
dev499drivers/net/eexpress.chardware_send_packet(dev, buf, length);
dev500drivers/net/eexpress.cdev->trans_start = jiffies;
dev502drivers/net/eexpress.coutb(0x08 | irqrmap[dev->irq], ioaddr + SET_IRQ);
dev518drivers/net/eexpress.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev523drivers/net/eexpress.cif (dev == NULL) {
dev527drivers/net/eexpress.cdev->interrupt = 1;
dev529drivers/net/eexpress.cioaddr = dev->base_addr;
dev530drivers/net/eexpress.clp = (struct net_local *)dev->priv;
dev535drivers/net/eexpress.cprintk("%s: EExp interrupt, status %4.4x.\n", dev->name, status);
dev539drivers/net/eexpress.coutb(irqrmap[dev->irq], ioaddr + SET_IRQ);
dev553drivers/net/eexpress.cdev->tbusy = 0;
dev574drivers/net/eexpress.ceexp_rx(dev);
dev580drivers/net/eexpress.cif ((status & 0x0700) != 0x0200  &&  dev->start) {
dev584drivers/net/eexpress.cdev->name, status);
dev599drivers/net/eexpress.cif ((status & 0x0070) != 0x0040  &&  dev->start) {
dev607drivers/net/eexpress.cdev->name, status, lp->rx_head, lp->rx_tail);
dev618drivers/net/eexpress.cinit_rx_bufs(dev);
dev628drivers/net/eexpress.cprintk("%s: EExp exiting interrupt, status %4.4x.\n", dev->name,
dev632drivers/net/eexpress.coutb(irqrmap[dev->irq] | 0x08, ioaddr + SET_IRQ);
dev637drivers/net/eexpress.ceexp_close(struct device *dev)
dev639drivers/net/eexpress.cint ioaddr = dev->base_addr;
dev641drivers/net/eexpress.cdev->tbusy = 1;
dev642drivers/net/eexpress.cdev->start = 0;
dev651drivers/net/eexpress.cfree_irq(dev->irq);
dev653drivers/net/eexpress.cirq2dev_map[dev->irq] = 0;
dev664drivers/net/eexpress.ceexp_get_stats(struct device *dev)
dev666drivers/net/eexpress.cstruct net_local *lp = (struct net_local *)dev->priv;
dev676drivers/net/eexpress.cset_multicast_list(struct device *dev)
dev680drivers/net/eexpress.cshort ioaddr = dev->base_addr;
dev744drivers/net/eexpress.cinit_82586_mem(struct device *dev)
dev746drivers/net/eexpress.cstruct net_local *lp = (struct net_local *)dev->priv;
dev747drivers/net/eexpress.cshort ioaddr = dev->base_addr;
dev762drivers/net/eexpress.coutsw(ioaddr, dev->dev_addr, 3);
dev772drivers/net/eexpress.cinit_rx_bufs(dev);
dev786drivers/net/eexpress.cdev->name, inw(ioaddr + SCB_STATUS), inw(ioaddr + SCB_CMD));
dev796drivers/net/eexpress.cprintk("%s: Initialized 82586, status %04x.\n", dev->name,
dev802drivers/net/eexpress.cstatic void init_rx_bufs(struct device *dev)
dev804drivers/net/eexpress.cstruct net_local *lp = (struct net_local *)dev->priv;
dev805drivers/net/eexpress.cshort ioaddr = dev->base_addr;
dev843drivers/net/eexpress.chardware_send_packet(struct device *dev, void *buf, short length)
dev845drivers/net/eexpress.cstruct net_local *lp = (struct net_local *)dev->priv;
dev846drivers/net/eexpress.cshort ioaddr = dev->base_addr;
dev883drivers/net/eexpress.c"reap %4x status %4.4x.\n", dev->name, ioaddr, length,
dev888drivers/net/eexpress.cdev->tbusy = 0;
dev892drivers/net/eexpress.ceexp_rx(struct device *dev)
dev894drivers/net/eexpress.cstruct net_local *lp = (struct net_local *)dev->priv;
dev895drivers/net/eexpress.cshort ioaddr = dev->base_addr;
dev917drivers/net/eexpress.c"next %04x data-buf @%04x %04x.\n", dev->name, rx_head,
dev935drivers/net/eexpress.cprintk("%s: Memory squeeze, dropping packet.\n", dev->name);
dev939drivers/net/eexpress.cskb->dev = dev;
dev946drivers/net/eexpress.cskb->protocol=eth_type_trans(skb,dev);
dev958drivers/net/eexpress.cprintk("%s: Rx next frame at %#x is %#x instead of %#x.\n", dev->name,
dev972drivers/net/eexpress.cdev->name, rx_tail, (outw(rx_tail+4, ioaddr + READ_PTR),inw(ioaddr)),
dev141drivers/net/eql.cint        eql_init(struct device *dev); /*  */
dev142drivers/net/eql.cstatic int eql_open(struct device *dev); /*  */
dev143drivers/net/eql.cstatic int eql_close(struct device *dev); /*  */
dev144drivers/net/eql.cstatic int eql_ioctl(struct device *dev, struct ifreq *ifr, int cmd); /*  */
dev145drivers/net/eql.cstatic int eql_slave_xmit(struct sk_buff *skb, struct device *dev); /*  */
dev147drivers/net/eql.cstatic struct enet_statistics *eql_get_stats(struct device *dev); /*  */
dev148drivers/net/eql.cstatic int eql_header(struct sk_buff *skb, struct device *dev, 
dev151drivers/net/eql.cstatic int eql_rebuild_header(void *buff, struct device *dev, 
dev156drivers/net/eql.cstatic int eql_enslave(struct device *dev,  slaving_request_t *srq); /*  */
dev157drivers/net/eql.cstatic int eql_emancipate(struct device *dev, slaving_request_t *srq); /*  */
dev159drivers/net/eql.cstatic int eql_g_slave_cfg(struct device *dev, slave_config_t *sc); /*  */
dev160drivers/net/eql.cstatic int eql_s_slave_cfg(struct device *dev, slave_config_t *sc); /*  */
dev162drivers/net/eql.cstatic int eql_g_master_cfg(struct device *dev, master_config_t *mc); /*  */
dev163drivers/net/eql.cstatic int eql_s_master_cfg(struct device *dev, master_config_t *mc); /*  */
dev165drivers/net/eql.cstatic inline int eql_is_slave(struct device *dev); /*  */
dev166drivers/net/eql.cstatic inline int eql_is_master(struct device *dev); /*  */
dev177drivers/net/eql.cstatic slave_queue_t *eql_new_slave_queue(struct device *dev); /*  */
dev184drivers/net/eql.cstatic int eql_remove_slave_dev(slave_queue_t *queue, struct device *dev); /*  */
dev194drivers/net/eql.cstatic slave_t *eql_find_slave_dev(slave_queue_t *queue, struct device *dev); /*  */
dev206drivers/net/eql.ceql_init(struct device *dev)
dev217drivers/net/eql.cdev->priv = kmalloc (sizeof (equalizer_t), GFP_KERNEL);
dev218drivers/net/eql.cif (dev->priv == NULL)
dev220drivers/net/eql.cmemset (dev->priv, 0, sizeof (equalizer_t));
dev221drivers/net/eql.ceql = (equalizer_t *) dev->priv;
dev225drivers/net/eql.ckfree(dev->priv);
dev226drivers/net/eql.cdev->priv = NULL;
dev232drivers/net/eql.ceql->timer.data     = (unsigned long) dev->priv;
dev237drivers/net/eql.cdev->open    = eql_open;
dev238drivers/net/eql.cdev->stop    = eql_close;
dev239drivers/net/eql.cdev->do_ioctl         = eql_ioctl;
dev240drivers/net/eql.cdev->hard_start_xmit  = eql_slave_xmit;
dev241drivers/net/eql.cdev->get_stats  = eql_get_stats;
dev247drivers/net/eql.cskb_queue_head_init(&dev->buffs[i]);
dev249drivers/net/eql.cdev->hard_header    = eql_header; 
dev250drivers/net/eql.cdev->rebuild_header = eql_rebuild_header;
dev253drivers/net/eql.cdev->mtu        = EQL_DEFAULT_MTU;  /* set to 576 in eql.h */
dev254drivers/net/eql.cdev->flags      = IFF_MASTER;
dev256drivers/net/eql.cdev->family     = AF_INET;
dev257drivers/net/eql.cdev->pa_addr    = 0;
dev258drivers/net/eql.cdev->pa_brdaddr = 0;
dev259drivers/net/eql.cdev->pa_mask    = 0;
dev260drivers/net/eql.cdev->pa_alen    = 4;
dev262drivers/net/eql.cdev->type       = ARPHRD_SLIP;
dev270drivers/net/eql.ceql_open(struct device *dev)
dev272drivers/net/eql.cequalizer_t *eql = (equalizer_t *) dev->priv;
dev277drivers/net/eql.cprintk ("%s: open\n", dev->name);
dev280drivers/net/eql.cnew_queue = eql_new_slave_queue (dev);
dev284drivers/net/eql.cnew_queue->master_dev = dev;
dev290drivers/net/eql.cprintk ("%s: adding timer\n", dev->name);
dev303drivers/net/eql.ceql_close(struct device *dev)
dev305drivers/net/eql.cequalizer_t *eql = (equalizer_t *) dev->priv;
dev309drivers/net/eql.cprintk ("%s: close\n", dev->name);
dev313drivers/net/eql.cprintk ("%s: stopping timer\n", dev->name);
dev327drivers/net/eql.ceql_ioctl(struct device *dev, struct ifreq *ifr, int cmd)
dev334drivers/net/eql.creturn eql_enslave (dev, (slaving_request_t *) ifr->ifr_data);
dev336drivers/net/eql.creturn eql_emancipate (dev, (slaving_request_t *) ifr->ifr_data);
dev339drivers/net/eql.creturn eql_g_slave_cfg (dev, (slave_config_t *) ifr->ifr_data);
dev341drivers/net/eql.creturn eql_s_slave_cfg (dev, (slave_config_t *) ifr->ifr_data);
dev344drivers/net/eql.creturn eql_g_master_cfg (dev, (master_config_t *) ifr->ifr_data);
dev346drivers/net/eql.creturn eql_s_master_cfg (dev, (master_config_t *) ifr->ifr_data);
dev356drivers/net/eql.ceql_slave_xmit(struct sk_buff *skb, struct device *dev)
dev358drivers/net/eql.cequalizer_t *eql = (equalizer_t *) dev->priv;
dev377drivers/net/eql.cdev->name, eql_number_slaves (eql->queue), skb->len,
dev399drivers/net/eql.ceql_get_stats(struct device *dev)
dev401drivers/net/eql.cequalizer_t *eql = (equalizer_t *) dev->priv;
dev409drivers/net/eql.ceql_header(struct sk_buff *skb, struct device *dev, 
dev419drivers/net/eql.ceql_rebuild_header(void *buff, struct device *dev, 
dev433drivers/net/eql.ceql_enslave(struct device *dev, slaving_request_t *srqp)
dev447drivers/net/eql.cprintk ("%s: enslave '%s' %ld bps\n", dev->name, 
dev451drivers/net/eql.cmaster_dev = dev;    /* for "clarity" */
dev462drivers/net/eql.cs->dev = slave_dev;
dev482drivers/net/eql.ceql_emancipate(struct device *dev, slaving_request_t *srqp)
dev496drivers/net/eql.cprintk ("%s: emancipate `%s`\n", dev->name, srq.slave_name);
dev500drivers/net/eql.cmaster_dev = dev;    /* for "clarity" */
dev518drivers/net/eql.ceql_g_slave_cfg(struct device *dev, slave_config_t *scp)
dev533drivers/net/eql.cprintk ("%s: get config for slave `%s'\n", dev->name, sc.slave_name);
dev536drivers/net/eql.ceql = (equalizer_t *) dev->priv;
dev559drivers/net/eql.ceql_s_slave_cfg(struct device *dev, slave_config_t *scp)
dev572drivers/net/eql.cprintk ("%s: set config for slave `%s'\n", dev->name, sc.slave_name);
dev577drivers/net/eql.ceql = (equalizer_t *) dev->priv;
dev597drivers/net/eql.ceql_g_master_cfg(struct device *dev, master_config_t *mcp)
dev604drivers/net/eql.cprintk ("%s: get master config\n", dev->name);
dev607drivers/net/eql.cif ( eql_is_master (dev) )
dev614drivers/net/eql.ceql = (equalizer_t *) dev->priv;
dev626drivers/net/eql.ceql_s_master_cfg(struct device *dev, master_config_t *mcp)
dev637drivers/net/eql.cprintk ("%s: set master config\n", dev->name);
dev642drivers/net/eql.cif ( eql_is_master (dev) )
dev644drivers/net/eql.ceql = (equalizer_t *) dev->priv;
dev658drivers/net/eql.ceql_is_slave(struct device *dev)
dev660drivers/net/eql.cif (dev)
dev662drivers/net/eql.cif ((dev->flags & IFF_SLAVE) == IFF_SLAVE)
dev671drivers/net/eql.ceql_is_master(struct device *dev)
dev673drivers/net/eql.cif (dev)
dev675drivers/net/eql.cif ((dev->flags & IFF_MASTER) == IFF_MASTER)
dev756drivers/net/eql.ceql_new_slave_queue(struct device *dev)
dev777drivers/net/eql.cqueue->master_dev = dev;
dev822drivers/net/eql.cduplicate_slave = eql_find_slave_dev (queue, slave->dev);
dev856drivers/net/eql.ccurr->dev != 0 )
dev880drivers/net/eql.ceql_insert_slave_dev(slave_queue_t *queue, struct device *dev)
dev889drivers/net/eql.cslave->dev = dev;
dev906drivers/net/eql.ceql_remove_slave_dev(slave_queue_t *queue, struct device *dev)
dev912drivers/net/eql.ctarget = eql_find_slave_dev (queue, dev);
dev943drivers/net/eql.cif (queue->best_slave->dev != 0)
dev944drivers/net/eql.creturn queue->best_slave->dev;
dev1006drivers/net/eql.cif ( slave->dev != 0)
dev1008drivers/net/eql.cif ((slave->dev->flags & IFF_UP) == IFF_UP )
dev1048drivers/net/eql.ceql_find_slave_dev(slave_queue_t *queue, struct device *dev)
dev1054drivers/net/eql.cwhile (slave != 0 && slave->dev != dev && slave != 0)
dev1057drivers/net/eql.cif (slave->dev != 0)
dev1058drivers/net/eql.cprintk ("eql: find_slave_dev; looked at '%s'...\n", slave->dev->name);
dev1155drivers/net/eql.cif ((slave->dev->flags & IFF_UP) == IFF_UP )
dev313drivers/net/eth16i.cextern int eth16i_probe(struct device *dev);
dev315drivers/net/eth16i.cstatic int eth16i_probe1(struct device *dev, short ioaddr);
dev325drivers/net/eth16i.cstatic int eth16i_open(struct device *dev);
dev326drivers/net/eth16i.cstatic int eth16i_close(struct device *dev);
dev327drivers/net/eth16i.cstatic int eth16i_tx(struct sk_buff *skb, struct device *dev);
dev328drivers/net/eth16i.cstatic void eth16i_rx(struct device *dev);
dev330drivers/net/eth16i.cstatic void eth16i_multicast(struct device *dev, int num_addrs, void *addrs); 
dev332drivers/net/eth16i.cstatic void eth16i_initialize(struct device *dev);
dev333drivers/net/eth16i.cstatic struct enet_statistics *eth16i_get_stats(struct device *dev);
dev343drivers/net/eth16i.cint eth16i_probe(struct device *dev)
dev347drivers/net/eth16i.cint base_addr = dev ? dev->base_addr : 0;
dev353drivers/net/eth16i.creturn eth16i_probe1(dev, base_addr);
dev361drivers/net/eth16i.cif(eth16i_probe1(dev, ioaddr) == 0)
dev369drivers/net/eth16i.cif(eth16i_probe1(dev, ioaddr) == 0)
dev377drivers/net/eth16i.cstatic int eth16i_probe1(struct device *dev, short ioaddr)
dev414drivers/net/eth16i.cif(dev == NULL)
dev415drivers/net/eth16i.cdev = init_etherdev(0, sizeof(struct eth16i_local));
dev420drivers/net/eth16i.cdev->base_addr = ioaddr;
dev423drivers/net/eth16i.cdev->irq = irq;
dev426drivers/net/eth16i.cif(request_irq(dev->irq, &eth16i_interrupt, 0, "eth16i")) {
dev428drivers/net/eth16i.cconflict on IRQ %d.\n", dev->name, cardname, ioaddr, irq);
dev433drivers/net/eth16i.cdev->name, cardname, ioaddr, dev->irq);
dev442drivers/net/eth16i.ceth16i_initialize(dev);   /* Initialize rest of the chip's registers */
dev448drivers/net/eth16i.cif(dev->priv == NULL)
dev449drivers/net/eth16i.cdev->priv = kmalloc(sizeof(struct eth16i_local), GFP_KERNEL);
dev450drivers/net/eth16i.cmemset(dev->priv, 0, sizeof(struct eth16i_local));
dev452drivers/net/eth16i.cdev->open               = eth16i_open;
dev453drivers/net/eth16i.cdev->stop               = eth16i_close;
dev454drivers/net/eth16i.cdev->hard_start_xmit    = eth16i_tx;
dev455drivers/net/eth16i.cdev->get_stats          = eth16i_get_stats;
dev456drivers/net/eth16i.cdev->set_multicast_list = &eth16i_multicast;
dev459drivers/net/eth16i.cether_setup(dev);
dev467drivers/net/eth16i.cstatic void eth16i_initialize(struct device *dev)
dev469drivers/net/eth16i.cshort ioaddr = dev->base_addr;
dev477drivers/net/eth16i.c((unsigned short *)dev->dev_addr)[i] = ntohs(node_val);
dev481drivers/net/eth16i.coutb( ((unsigned char *)dev->dev_addr)[i], ioaddr + NODE_ID_0 + i);
dev525drivers/net/eth16i.cdev->if_port = (ptype & 0x00FF);
dev527drivers/net/eth16i.cprintk(" %s interface.\n", porttype[dev->if_port]);
dev789drivers/net/eth16i.cstatic int eth16i_open(struct device *dev)
dev791drivers/net/eth16i.cstruct eth16i_local *lp = (struct eth16i_local *)dev->priv;
dev792drivers/net/eth16i.cint ioaddr = dev->base_addr;
dev794drivers/net/eth16i.cirq2dev_map[dev->irq] = dev;
dev800drivers/net/eth16i.ceth16i_initialize(dev);  
dev806drivers/net/eth16i.cprintk("%s: transmit buffer size %d\n", dev->name, lp->tx_buf_size);
dev822drivers/net/eth16i.cdev->tbusy = 0;
dev823drivers/net/eth16i.cdev->interrupt = 0;
dev824drivers/net/eth16i.cdev->start = 1;
dev833drivers/net/eth16i.cstatic int eth16i_close(struct device *dev)
dev835drivers/net/eth16i.cstruct eth16i_local *lp = (struct eth16i_local *)dev->priv;
dev836drivers/net/eth16i.cint ioaddr = dev->base_addr;
dev840drivers/net/eth16i.cdev->tbusy = 1;
dev841drivers/net/eth16i.cdev->start = 0;
dev859drivers/net/eth16i.cstatic int eth16i_tx(struct sk_buff *skb, struct device *dev)
dev861drivers/net/eth16i.cstruct eth16i_local *lp = (struct eth16i_local *)dev->priv;
dev862drivers/net/eth16i.cint ioaddr = dev->base_addr;
dev864drivers/net/eth16i.cif(dev->tbusy) {
dev870drivers/net/eth16i.cint tickssofar = jiffies - dev->trans_start;
dev874drivers/net/eth16i.cprintk("%s: transmit timed out with status %04x, %s ?\n", dev->name,
dev882drivers/net/eth16i.cdev->name, inb(ioaddr + 0), inb(ioaddr + 1), inb(ioaddr + 2), 
dev899drivers/net/eth16i.ceth16i_initialize(dev);
dev909drivers/net/eth16i.cdev->tbusy = 0;
dev910drivers/net/eth16i.cdev->trans_start = jiffies;
dev919drivers/net/eth16i.cdev_tint(dev);
dev929drivers/net/eth16i.cif(set_bit(0, (void *)&dev->tbusy) != 0)
dev930drivers/net/eth16i.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev959drivers/net/eth16i.cdev->trans_start = jiffies;
dev961drivers/net/eth16i.cdev->tbusy = 0;
dev965drivers/net/eth16i.cdev->tbusy = 0;
dev978drivers/net/eth16i.cstatic void eth16i_rx(struct device *dev)
dev980drivers/net/eth16i.cstruct eth16i_local *lp = (struct eth16i_local *)dev->priv;
dev981drivers/net/eth16i.cint ioaddr = dev->base_addr;
dev992drivers/net/eth16i.cdev->name, inb(ioaddr + RECEIVE_MODE_REG), status);
dev1010drivers/net/eth16i.cdev->name, cardname, pkt_len);
dev1019drivers/net/eth16i.cdev->name, pkt_len);
dev1025drivers/net/eth16i.cskb->dev = dev;
dev1051drivers/net/eth16i.cskb->protocol=eth_type_trans(skb, dev);
dev1057drivers/net/eth16i.cprintk("%s: Received packet of length %d.\n", dev->name, pkt_len);
dev1082drivers/net/eth16i.cprintk("%s: Flushed receive buffer.\n", dev->name);
dev1091drivers/net/eth16i.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev1096drivers/net/eth16i.cif(dev == NULL) {
dev1104drivers/net/eth16i.cdev->interrupt = 1;
dev1106drivers/net/eth16i.cioaddr = dev->base_addr;
dev1107drivers/net/eth16i.clp = (struct eth16i_local *)dev->priv;
dev1112drivers/net/eth16i.cprintk("%s: Interrupt with status %04x.\n", dev->name, status);
dev1125drivers/net/eth16i.cdev->trans_start = jiffies;
dev1126drivers/net/eth16i.cdev->tbusy = 0;
dev1131drivers/net/eth16i.cdev->tbusy = 0;
dev1139drivers/net/eth16i.ceth16i_rx(dev);  /* We have packet in receive buffer */
dev1142drivers/net/eth16i.cdev->interrupt = 0;
dev1150drivers/net/eth16i.cstatic void eth16i_multicast(struct device *dev, int num_addrs, void *addrs)
dev1152drivers/net/eth16i.cshort ioaddr = dev->base_addr;
dev1154drivers/net/eth16i.cif(dev->mc_count || dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) 
dev1156drivers/net/eth16i.cdev->flags|=IFF_PROMISC;  /* Must do this */
dev1163drivers/net/eth16i.cstatic struct enet_statistics *eth16i_get_stats(struct device *dev)
dev1165drivers/net/eth16i.cstruct eth16i_local *lp = (struct eth16i_local *)dev->priv;
dev288drivers/net/ewrk3.cstatic int ewrk3_open(struct device *dev);
dev289drivers/net/ewrk3.cstatic int ewrk3_queue_pkt(struct sk_buff *skb, struct device *dev);
dev291drivers/net/ewrk3.cstatic int ewrk3_close(struct device *dev);
dev292drivers/net/ewrk3.cstatic struct enet_statistics *ewrk3_get_stats(struct device *dev);
dev293drivers/net/ewrk3.cstatic void set_multicast_list(struct device *dev);
dev294drivers/net/ewrk3.cstatic int ewrk3_ioctl(struct device *dev, struct ifreq *rq, int cmd);
dev299drivers/net/ewrk3.cstatic int  ewrk3_hw_init(struct device *dev, short iobase);
dev300drivers/net/ewrk3.cstatic void ewrk3_init(struct device *dev);
dev301drivers/net/ewrk3.cstatic int  ewrk3_rx(struct device *dev);
dev302drivers/net/ewrk3.cstatic int  ewrk3_tx(struct device *dev);
dev306drivers/net/ewrk3.cstatic void SetMulticastFilter(struct device *dev, int num_addr, char *multicast_table);
dev310drivers/net/ewrk3.cstatic unsigned char aprom_crc (struct device *dev, unsigned char *eeprom_image, char chipType);
dev313drivers/net/ewrk3.cstatic struct device *isa_probe(struct device *dev);
dev314drivers/net/ewrk3.cstatic struct device *eisa_probe(struct device *dev);
dev315drivers/net/ewrk3.cstatic struct device *alloc_device(struct device *dev, int iobase);
dev340drivers/net/ewrk3.cint ewrk3_probe(struct device *dev)
dev342drivers/net/ewrk3.cint base_addr = dev->base_addr;
dev355drivers/net/ewrk3.cstatus = ewrk3_hw_init(dev, base_addr);
dev362drivers/net/ewrk3.cprintk("%s: ewrk3_probe(): Detected a device already registered at 0x%02x\n", dev->name, base_addr);
dev366drivers/net/ewrk3.cstatus = ewrk3_hw_init(dev, base_addr);
dev378drivers/net/ewrk3.ceth0=isa_probe(dev);
dev380drivers/net/ewrk3.cif (dev->priv) status=0;
dev388drivers/net/ewrk3.cif (status) dev->base_addr = base_addr;
dev394drivers/net/ewrk3.cewrk3_hw_init(struct device *dev, short iobase)
dev436drivers/net/ewrk3.cprintk("%s: Device has a bad on-board EEPROM.\n", dev->name);
dev445drivers/net/ewrk3.cdev->base_addr = iobase;
dev456drivers/net/ewrk3.cprintk("%s: %s at %#3x", dev->name, name, iobase);
dev461drivers/net/ewrk3.cdev->name, name, iobase, ((iobase>>12)&0x0f));
dev463drivers/net/ewrk3.cprintk("%s: %s at %#3x", dev->name, name, iobase);
dev470drivers/net/ewrk3.cprintk("%2.2x:", dev->dev_addr[i] = 
dev474drivers/net/ewrk3.cprintk("%2.2x,\n",dev->dev_addr[i] = eeprom_image[EEPROM_PADDR0 + i]);
dev479drivers/net/ewrk3.cprintk("%2.2x:", dev->dev_addr[i] = inb(EWRK3_APROM));
dev480drivers/net/ewrk3.coutb(dev->dev_addr[i], EWRK3_PAR0 + i);
dev482drivers/net/ewrk3.cprintk("%2.2x,\n", dev->dev_addr[i] = inb(EWRK3_APROM));
dev483drivers/net/ewrk3.coutb(dev->dev_addr[i], EWRK3_PAR0 + i);
dev486drivers/net/ewrk3.cif (aprom_crc(dev, eeprom_image, lemac)) {
dev546drivers/net/ewrk3.cdev->priv = (void *) kmalloc(sizeof(struct ewrk3_private), 
dev548drivers/net/ewrk3.cif (dev->priv == NULL)
dev550drivers/net/ewrk3.clp = (struct ewrk3_private *)dev->priv;
dev551drivers/net/ewrk3.cmemset(dev->priv, 0, sizeof(struct ewrk3_private));
dev568drivers/net/ewrk3.cdev->dma = 0;
dev572drivers/net/ewrk3.cif (dev->irq < 2) {
dev587drivers/net/ewrk3.cdev->irq = autoirq_report(1);
dev588drivers/net/ewrk3.cif ((dev->irq) && (irqnum == dev->irq)) {
dev589drivers/net/ewrk3.cprintk(" and uses IRQ%d.\n", dev->irq);
dev591drivers/net/ewrk3.cif (!dev->irq) {
dev605drivers/net/ewrk3.cprintk(" and requires IRQ%d.\n", dev->irq);
dev624drivers/net/ewrk3.cdev->open = &ewrk3_open;
dev625drivers/net/ewrk3.cdev->hard_start_xmit = &ewrk3_queue_pkt;
dev626drivers/net/ewrk3.cdev->stop = &ewrk3_close;
dev627drivers/net/ewrk3.cdev->get_stats = &ewrk3_get_stats;
dev629drivers/net/ewrk3.cdev->set_multicast_list = &set_multicast_list;
dev631drivers/net/ewrk3.cdev->do_ioctl = &ewrk3_ioctl;
dev633drivers/net/ewrk3.cdev->mem_start = 0;
dev636drivers/net/ewrk3.cether_setup(dev);
dev647drivers/net/ewrk3.cewrk3_open(struct device *dev)
dev649drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev650drivers/net/ewrk3.cint i, iobase = dev->base_addr;
dev660drivers/net/ewrk3.cif (request_irq(dev->irq, &ewrk3_interrupt, 0, "ewrk3")) {
dev661drivers/net/ewrk3.cprintk("ewrk3_open(): Requested IRQ%d is busy\n",dev->irq);
dev665drivers/net/ewrk3.cirq2dev_map[dev->irq] = dev;
dev670drivers/net/ewrk3.cewrk3_init(dev);
dev673drivers/net/ewrk3.cprintk("%s: ewrk3 open with irq %d\n",dev->name,dev->irq);
dev676drivers/net/ewrk3.cprintk("%2.2x:",(short)dev->dev_addr[i]);
dev694drivers/net/ewrk3.cdev->tbusy = 0;                         
dev695drivers/net/ewrk3.cdev->start = 1;
dev696drivers/net/ewrk3.cdev->interrupt = UNMASK_INTERRUPTS;
dev706drivers/net/ewrk3.cdev->start = 0;
dev707drivers/net/ewrk3.cdev->tbusy = 1;
dev708drivers/net/ewrk3.cprintk("%s: ewrk3 available for hard strapped set up only.\n", dev->name);
dev721drivers/net/ewrk3.cewrk3_init(struct device *dev)
dev723drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev725drivers/net/ewrk3.cshort iobase = dev->base_addr;
dev726drivers/net/ewrk3.cint flags=dev->flags;
dev732drivers/net/ewrk3.cdev->flags|=IFF_ALLMULTI;
dev733drivers/net/ewrk3.cset_multicast_list(dev);
dev734drivers/net/ewrk3.cdev->flags=flags;
dev760drivers/net/ewrk3.cewrk3_queue_pkt(struct sk_buff *skb, struct device *dev)
dev762drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev763drivers/net/ewrk3.cint iobase = dev->base_addr;
dev768drivers/net/ewrk3.cif (dev->tbusy || lp->lock) {
dev769drivers/net/ewrk3.cint tickssofar = jiffies - dev->trans_start;
dev774drivers/net/ewrk3.cdev->name, inb(EWRK3_CSR));
dev786drivers/net/ewrk3.cewrk3_init(dev);
dev793drivers/net/ewrk3.cdev->tbusy=0;
dev794drivers/net/ewrk3.cdev->trans_start = jiffies;
dev797drivers/net/ewrk3.cdev_tint(dev);
dev804drivers/net/ewrk3.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev805drivers/net/ewrk3.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev836drivers/net/ewrk3.cprintk("%s: Oops - your private data area is hosed!\n",dev->name);
dev877drivers/net/ewrk3.cdev->trans_start = jiffies;
dev896drivers/net/ewrk3.cdev->tbusy = 0;
dev911drivers/net/ewrk3.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev916drivers/net/ewrk3.cif (dev == NULL) {
dev919drivers/net/ewrk3.clp = (struct ewrk3_private *)dev->priv;
dev920drivers/net/ewrk3.ciobase = dev->base_addr;
dev922drivers/net/ewrk3.cif (dev->interrupt)
dev923drivers/net/ewrk3.cprintk("%s: Re-entering the interrupt handler.\n", dev->name);
dev925drivers/net/ewrk3.cdev->interrupt = MASK_INTERRUPTS;
dev940drivers/net/ewrk3.cewrk3_rx(dev);
dev943drivers/net/ewrk3.cewrk3_tx(dev);
dev955drivers/net/ewrk3.cdev->tbusy = 0;           /* clear TX busy flag */
dev965drivers/net/ewrk3.cdev->interrupt = UNMASK_INTERRUPTS;
dev974drivers/net/ewrk3.cewrk3_rx(struct device *dev)
dev976drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev977drivers/net/ewrk3.cint i, iobase = dev->base_addr;
dev1013drivers/net/ewrk3.cprintk("%s: Oops - your private data area is hosed!\n",dev->name);
dev1040drivers/net/ewrk3.cskb->dev = dev;
dev1058drivers/net/ewrk3.cskb->protocol=eth_type_trans(skb,dev);
dev1078drivers/net/ewrk3.c} else if ((*(long *)&buf[0] == *(long *)&dev->dev_addr[0]) &&
dev1079drivers/net/ewrk3.c(*(short *)&buf[4] == *(short *)&dev->dev_addr[4])) {
dev1088drivers/net/ewrk3.cprintk("%s: Insufficient memory; nuking packet.\n", dev->name);
dev1119drivers/net/ewrk3.cewrk3_tx(struct device *dev)
dev1121drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev1122drivers/net/ewrk3.cint iobase = dev->base_addr;
dev1154drivers/net/ewrk3.cewrk3_close(struct device *dev)
dev1156drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev1157drivers/net/ewrk3.cint iobase = dev->base_addr;
dev1160drivers/net/ewrk3.cdev->start = 0;
dev1161drivers/net/ewrk3.cdev->tbusy = 1;
dev1165drivers/net/ewrk3.cdev->name, inb(EWRK3_CSR));
dev1186drivers/net/ewrk3.cfree_irq(dev->irq);
dev1188drivers/net/ewrk3.cirq2dev_map[dev->irq] = 0;
dev1197drivers/net/ewrk3.cewrk3_get_stats(struct device *dev)
dev1199drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev1214drivers/net/ewrk3.cset_multicast_list(struct device *dev)
dev1216drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev1217drivers/net/ewrk3.cint iobase = dev->base_addr;
dev1230drivers/net/ewrk3.cif (dev->flags&(IFF_ALLMULTI|IFF_PROMISC)) 
dev1235drivers/net/ewrk3.cdev->flags|=IFF_PROMISC;
dev1237drivers/net/ewrk3.cSetMulticastFilter(dev, dev->mc_count, multicast_table);
dev1252drivers/net/ewrk3.cstatic void SetMulticastFilter(struct device *dev, int num_addrs, char *multicast_table)
dev1254drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev1256drivers/net/ewrk3.cstruct dev_mc_list *dmi=dev->mc_list;
dev1257drivers/net/ewrk3.cint i, iobase = dev->base_addr;
dev1313drivers/net/ewrk3.cfor (i=0;i<dev->mc_count;i++) 
dev1362drivers/net/ewrk3.cstatic struct device *isa_probe(struct device *dev)
dev1380drivers/net/ewrk3.cdev = alloc_device(dev, iobase);
dev1382drivers/net/ewrk3.cif ((status = ewrk3_hw_init(dev, iobase)) == 0) {
dev1391drivers/net/ewrk3.cprintk("%s: ewrk3_probe(): Detected a device already registered at 0x%02x\n", dev->name, iobase);
dev1398drivers/net/ewrk3.creturn dev;
dev1405drivers/net/ewrk3.cstatic struct device *eisa_probe(struct device *dev)
dev1423drivers/net/ewrk3.cdev = alloc_device(dev, iobase);
dev1425drivers/net/ewrk3.cif ((status = ewrk3_hw_init(dev, iobase)) == 0) {
dev1433drivers/net/ewrk3.creturn dev;
dev1440drivers/net/ewrk3.cstatic struct device *alloc_device(struct device *dev, int iobase)
dev1445drivers/net/ewrk3.cwhile (dev->next != NULL) {
dev1446drivers/net/ewrk3.cif (dev->next->base_addr == 0xffe0) break;
dev1447drivers/net/ewrk3.cdev = dev->next;         /* walk through eth device list */
dev1455drivers/net/ewrk3.cif (dev->next == NULL) {
dev1456drivers/net/ewrk3.cdev->next = (struct device *)kmalloc(sizeof(struct device) + 8,
dev1458drivers/net/ewrk3.cif (dev->next == NULL) {
dev1469drivers/net/ewrk3.cif ((dev->next != NULL) &&
dev1471drivers/net/ewrk3.cdev = dev->next;                    /* point to the new device */
dev1472drivers/net/ewrk3.cdev->name = (char *)(dev + sizeof(struct device));
dev1473drivers/net/ewrk3.csprintf(dev->name,"eth%d", num_eth);/* New device name */
dev1474drivers/net/ewrk3.cdev->base_addr = iobase;            /* assign the io address */
dev1475drivers/net/ewrk3.cdev->next = NULL;                   /* mark the end of list */
dev1476drivers/net/ewrk3.cdev->init = &ewrk3_probe;           /* initialisation routine */
dev1480drivers/net/ewrk3.creturn dev;
dev1604drivers/net/ewrk3.cstatic unsigned char aprom_crc(struct device *dev, unsigned char *eeprom_image, char chipType)
dev1609drivers/net/ewrk3.cint iobase = dev->base_addr;
dev1639drivers/net/ewrk3.cstatic int ewrk3_ioctl(struct device *dev, struct ifreq *rq, int cmd)
dev1641drivers/net/ewrk3.cstruct ewrk3_private *lp = (struct ewrk3_private *)dev->priv;
dev1643drivers/net/ewrk3.cint i, j, iobase = dev->base_addr, status = 0;
dev1654drivers/net/ewrk3.ctmp.addr[i] = dev->dev_addr[i];
dev1673drivers/net/ewrk3.cdev->dev_addr[i] = tmp.addr[i];
dev1707drivers/net/ewrk3.cprintk("%s: Boo!\n", dev->name);
dev1740drivers/net/ewrk3.cset_multicast_list(dev, ioc->len, tmp.addr);
dev1748drivers/net/ewrk3.cset_multicast_list(dev, 0, NULL);
dev95drivers/net/hp-plus.cint hp_plus_probe(struct device *dev);
dev96drivers/net/hp-plus.cint hpp_probe1(struct device *dev, int ioaddr);
dev98drivers/net/hp-plus.cstatic void hpp_reset_8390(struct device *dev);
dev99drivers/net/hp-plus.cstatic int hpp_open(struct device *dev);
dev100drivers/net/hp-plus.cstatic int hpp_close(struct device *dev);
dev101drivers/net/hp-plus.cstatic void hpp_mem_block_input(struct device *dev, int count,
dev103drivers/net/hp-plus.cstatic void hpp_mem_block_output(struct device *dev, int count,
dev105drivers/net/hp-plus.cstatic void hpp_mem_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr,
dev107drivers/net/hp-plus.cstatic void hpp_io_block_input(struct device *dev, int count,
dev109drivers/net/hp-plus.cstatic void hpp_io_block_output(struct device *dev, int count,
dev111drivers/net/hp-plus.cstatic void hpp_io_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr,
dev124drivers/net/hp-plus.cint hp_plus_probe(struct device *dev)
dev127drivers/net/hp-plus.cint base_addr = dev ? dev->base_addr : 0;
dev130drivers/net/hp-plus.creturn hpp_probe1(dev, base_addr);
dev138drivers/net/hp-plus.cif (hpp_probe1(dev, ioaddr) == 0)
dev147drivers/net/hp-plus.cint hpp_probe1(struct device *dev, int ioaddr)
dev161drivers/net/hp-plus.cif (dev == NULL) {
dev163drivers/net/hp-plus.cdev = init_etherdev(0, 0);
dev169drivers/net/hp-plus.cprintk("%s: %s at %#3x,", dev->name, name, ioaddr);
dev176drivers/net/hp-plus.cdev->dev_addr[i] = inval;
dev192drivers/net/hp-plus.cif (ethdev_init(dev)) {
dev206drivers/net/hp-plus.cdev->irq = irq;
dev220drivers/net/hp-plus.cdev->base_addr = ioaddr + NIC_OFFSET;
dev222drivers/net/hp-plus.cdev->open = &hpp_open;
dev223drivers/net/hp-plus.cdev->stop = &hpp_close;
dev241drivers/net/hp-plus.cdev->mem_start = mem_start;
dev242drivers/net/hp-plus.cdev->rmem_start = dev->mem_start + TX_2X_PAGES*256;
dev243drivers/net/hp-plus.cdev->mem_end = dev->rmem_end
dev244drivers/net/hp-plus.c= dev->mem_start + (HP_STOP_PG - HP_START_PG)*256;
dev248drivers/net/hp-plus.cNS8390_init(dev, 0);
dev256drivers/net/hp-plus.chpp_open(struct device *dev)
dev258drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev261drivers/net/hp-plus.cif (request_irq(dev->irq, &ei_interrupt, 0, "hp-plus")) {
dev279drivers/net/hp-plus.cei_open(dev);
dev285drivers/net/hp-plus.chpp_close(struct device *dev)
dev287drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev290drivers/net/hp-plus.cfree_irq(dev->irq);
dev291drivers/net/hp-plus.cirq2dev_map[dev->irq] = NULL;
dev292drivers/net/hp-plus.cei_close(dev);
dev301drivers/net/hp-plus.chpp_reset_8390(struct device *dev)
dev303drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev319drivers/net/hp-plus.cprintk("%s: hp_reset_8390() did not complete.\n", dev->name);
dev329drivers/net/hp-plus.chpp_io_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr, int ring_page)
dev331drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev340drivers/net/hp-plus.chpp_io_block_input(struct device *dev, int count, struct sk_buff *skb, int ring_offset)
dev342drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev354drivers/net/hp-plus.chpp_mem_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr, int ring_page)
dev356drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev361drivers/net/hp-plus.cmemcpy_fromio(hdr, dev->mem_start, sizeof(struct e8390_pkt_hdr));
dev367drivers/net/hp-plus.chpp_mem_block_input(struct device *dev, int count, struct sk_buff *skb, int ring_offset)
dev369drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev380drivers/net/hp-plus.cmemcpy_fromio(skb->data, dev->mem_start, count);
dev387drivers/net/hp-plus.chpp_io_block_output(struct device *dev, int count,
dev390drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev397drivers/net/hp-plus.chpp_mem_block_output(struct device *dev, int count,
dev400drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev405drivers/net/hp-plus.cmemcpy_toio(dev->mem_start, buf, (count + 3) & ~3);
dev436drivers/net/hp-plus.cstruct device *dev = &dev_hpp[this_dev];
dev437drivers/net/hp-plus.cdev->name = namelist+(NAMELEN*this_dev);
dev438drivers/net/hp-plus.cdev->irq = irq[this_dev];
dev439drivers/net/hp-plus.cdev->base_addr = io[this_dev];
dev440drivers/net/hp-plus.cdev->init = hp_plus_probe;
dev445drivers/net/hp-plus.cif (register_netdev(dev) != 0) {
dev462drivers/net/hp-plus.cstruct device *dev = &dev_hpp[this_dev];
dev463drivers/net/hp-plus.cif (dev->priv != NULL) {
dev465drivers/net/hp-plus.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev466drivers/net/hp-plus.ckfree(dev->priv);
dev467drivers/net/hp-plus.cdev->priv = NULL;
dev469drivers/net/hp-plus.cunregister_netdev(dev);
dev57drivers/net/hp.cint hp_probe(struct device *dev);
dev58drivers/net/hp.cint hp_probe1(struct device *dev, int ioaddr);
dev60drivers/net/hp.cstatic int hp_open(struct device *dev);
dev61drivers/net/hp.cstatic int hp_close(struct device *dev);
dev62drivers/net/hp.cstatic void hp_reset_8390(struct device *dev);
dev63drivers/net/hp.cstatic void hp_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr,
dev65drivers/net/hp.cstatic void hp_block_input(struct device *dev, int count,
dev67drivers/net/hp.cstatic void hp_block_output(struct device *dev, int count,
dev70drivers/net/hp.cstatic void hp_init_card(struct device *dev);
dev85drivers/net/hp.cint hp_probe(struct device *dev)
dev88drivers/net/hp.cint base_addr = dev ? dev->base_addr : 0;
dev91drivers/net/hp.creturn hp_probe1(dev, base_addr);
dev99drivers/net/hp.cif (hp_probe1(dev, ioaddr) == 0)
dev107drivers/net/hp.cint hp_probe1(struct device *dev, int ioaddr)
dev133drivers/net/hp.cif (dev == NULL) {
dev135drivers/net/hp.cdev = init_etherdev(0, 0);
dev141drivers/net/hp.cprintk("%s: %s (ID %02x) at %#3x,", dev->name, name, board_id, ioaddr);
dev144drivers/net/hp.cprintk(" %2.2x", dev->dev_addr[i] = inb(ioaddr + i));
dev147drivers/net/hp.cif (dev->irq < 2) {
dev161drivers/net/hp.cdev->irq = *irqp;
dev171drivers/net/hp.cif (dev->irq == 2)
dev172drivers/net/hp.cdev->irq = 9;
dev173drivers/net/hp.cif (request_irq(dev->irq, ei_interrupt, 0, "hp")) {
dev174drivers/net/hp.cprintk (" unable to get IRQ %d.\n", dev->irq);
dev180drivers/net/hp.cif (ethdev_init(dev)) {
dev182drivers/net/hp.cfree_irq(dev->irq);
dev190drivers/net/hp.cdev->base_addr = ioaddr + NIC_OFFSET;
dev191drivers/net/hp.cdev->open = &hp_open;
dev192drivers/net/hp.cdev->stop = &hp_close;
dev204drivers/net/hp.chp_init_card(dev);
dev210drivers/net/hp.chp_open(struct device *dev)
dev212drivers/net/hp.cei_open(dev);
dev218drivers/net/hp.chp_close(struct device *dev)
dev220drivers/net/hp.cei_close(dev);
dev226drivers/net/hp.chp_reset_8390(struct device *dev)
dev228drivers/net/hp.cint hp_base = dev->base_addr - NIC_OFFSET;
dev242drivers/net/hp.cprintk("%s: hp_reset_8390() did not complete.\n", dev->name);
dev249drivers/net/hp.chp_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr, int ring_page)
dev251drivers/net/hp.cint nic_base = dev->base_addr;
dev276drivers/net/hp.chp_block_input(struct device *dev, int count, struct sk_buff *skb, int ring_offset)
dev278drivers/net/hp.cint nic_base = dev->base_addr;
dev305drivers/net/hp.cdev->name, ring_offset + xfer_count, addr);
dev311drivers/net/hp.chp_block_output(struct device *dev, int count,
dev314drivers/net/hp.cint nic_base = dev->base_addr;
dev362drivers/net/hp.cdev->name, (start_page << 8) + count, addr);
dev370drivers/net/hp.chp_init_card(struct device *dev)
dev372drivers/net/hp.cint irq = dev->irq;
dev373drivers/net/hp.cNS8390_init(dev, 0);
dev375drivers/net/hp.cdev->base_addr - NIC_OFFSET + HP_CONFIGURE);
dev403drivers/net/hp.cstruct device *dev = &dev_hp[this_dev];
dev404drivers/net/hp.cdev->name = namelist+(NAMELEN*this_dev);
dev405drivers/net/hp.cdev->irq = irq[this_dev];
dev406drivers/net/hp.cdev->base_addr = io[this_dev];
dev407drivers/net/hp.cdev->init = hp_probe;
dev412drivers/net/hp.cif (register_netdev(dev) != 0) {
dev429drivers/net/hp.cstruct device *dev = &dev_hp[this_dev];
dev430drivers/net/hp.cif (dev->priv != NULL) {
dev431drivers/net/hp.cint ioaddr = dev->base_addr - NIC_OFFSET;
dev432drivers/net/hp.ckfree(dev->priv);
dev433drivers/net/hp.cdev->priv = NULL;
dev434drivers/net/hp.cfree_irq(dev->irq);
dev435drivers/net/hp.cirq2dev_map[dev->irq] = NULL;
dev437drivers/net/hp.cunregister_netdev(dev);
dev190drivers/net/hp100.cstatic int hp100_probe1( struct device *dev, int ioaddr, int bus );
dev191drivers/net/hp100.cstatic int hp100_open( struct device *dev );
dev192drivers/net/hp100.cstatic int hp100_close( struct device *dev );
dev193drivers/net/hp100.cstatic int hp100_start_xmit( struct sk_buff *skb, struct device *dev );
dev194drivers/net/hp100.cstatic void hp100_rx( struct device *dev );
dev195drivers/net/hp100.cstatic struct enet_statistics *hp100_get_stats( struct device *dev );
dev196drivers/net/hp100.cstatic void hp100_update_stats( struct device *dev );
dev198drivers/net/hp100.cstatic void hp100_set_multicast_list( struct device *dev);
dev201drivers/net/hp100.cstatic void hp100_start_interface( struct device *dev );
dev202drivers/net/hp100.cstatic void hp100_stop_interface( struct device *dev );
dev203drivers/net/hp100.cstatic void hp100_load_eeprom( struct device *dev );
dev204drivers/net/hp100.cstatic int hp100_sense_lan( struct device *dev );
dev205drivers/net/hp100.cstatic int hp100_login_to_vg_hub( struct device *dev );
dev206drivers/net/hp100.cstatic int hp100_down_vg_link( struct device *dev );
dev212drivers/net/hp100.cint hp100_probe( struct device *dev )
dev214drivers/net/hp100.cint base_addr = dev ? dev -> base_addr : 0;
dev224drivers/net/hp100.creturn hp100_probe1( dev, base_addr, HP100_BUS_ISA );
dev226drivers/net/hp100.creturn hp100_probe1( dev, base_addr, HP100_BUS_EISA );
dev275drivers/net/hp100.cif ( hp100_probe1( dev, ioaddr, HP100_BUS_PCI ) == 0 ) return 0;
dev286drivers/net/hp100.cif ( hp100_probe1( dev, ioaddr, HP100_BUS_EISA ) == 0 ) return 0;
dev294drivers/net/hp100.cif ( hp100_probe1( dev, ioaddr, HP100_BUS_ISA ) == 0 ) return 0;
dev300drivers/net/hp100.cstatic int hp100_probe1( struct device *dev, int ioaddr, int bus )
dev310drivers/net/hp100.cif ( dev == NULL )
dev325drivers/net/hp100.cdev -> base_addr = ioaddr;
dev406drivers/net/hp100.cif ( ( dev -> priv = kmalloc( sizeof( struct hp100_private ), GFP_KERNEL ) ) == NULL )
dev408drivers/net/hp100.cmemset( dev -> priv, 0, sizeof( struct hp100_private ) );
dev410drivers/net/hp100.clp = (struct hp100_private *)dev -> priv;
dev420drivers/net/hp100.cdev -> base_addr = ioaddr;
dev422drivers/net/hp100.cdev -> irq = hp100_inb( IRQ_CHANNEL ) & HP100_IRQ_MASK;
dev423drivers/net/hp100.cif ( dev -> irq == 2 ) dev -> irq = 9;
dev427drivers/net/hp100.cdev -> open = hp100_open;
dev428drivers/net/hp100.cdev -> stop = hp100_close;
dev429drivers/net/hp100.cdev -> hard_start_xmit = hp100_start_xmit;
dev430drivers/net/hp100.cdev -> get_stats = hp100_get_stats;
dev431drivers/net/hp100.cdev -> set_multicast_list = &hp100_set_multicast_list;
dev433drivers/net/hp100.crequest_region( dev -> base_addr, HP100_REGION_SIZE, eid -> name );
dev437drivers/net/hp100.cdev -> dev_addr[ i ] = hp100_inb( LAN_ADDR + i );
dev441drivers/net/hp100.cether_setup( dev );
dev443drivers/net/hp100.clp -> lan_type = hp100_sense_lan( dev );
dev446drivers/net/hp100.cdev -> name, lp -> id -> name, ioaddr, dev -> irq );
dev457drivers/net/hp100.cdev -> name, (u_long)mem_ptr_phys, (u_long)mem_ptr_phys + 0x1fff );
dev462drivers/net/hp100.cprintk( "%s: ", dev -> name );
dev476drivers/net/hp100.chp100_stop_interface( dev );
dev485drivers/net/hp100.cstatic int hp100_open( struct device *dev )
dev488drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev489drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev491drivers/net/hp100.cif ( request_irq( dev -> irq, hp100_interrupt, SA_INTERRUPT, lp -> id -> name ) )
dev493drivers/net/hp100.cprintk( "%s: unable to get IRQ %d\n", dev -> name, dev -> irq );
dev496drivers/net/hp100.cirq2dev_map[ dev -> irq ] = dev;
dev500drivers/net/hp100.cdev -> tbusy = 0;
dev501drivers/net/hp100.cdev -> trans_start = jiffies;
dev502drivers/net/hp100.cdev -> interrupt = 0;
dev503drivers/net/hp100.cdev -> start = 1;
dev505drivers/net/hp100.clp -> lan_type = hp100_sense_lan( dev );
dev512drivers/net/hp100.chp100_stop_interface( dev );
dev513drivers/net/hp100.chp100_load_eeprom( dev );
dev525drivers/net/hp100.chp100_outb( dev -> dev_addr[ i ], MAC_ADDR + i );
dev541drivers/net/hp100.clp -> hub_status = hp100_login_to_vg_hub( dev );
dev543drivers/net/hp100.chp100_start_interface( dev );
dev548drivers/net/hp100.cstatic int hp100_close( struct device *dev )
dev550drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev551drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev556drivers/net/hp100.chp100_stop_interface( dev );
dev559drivers/net/hp100.chp100_login_to_vg_hub( dev );
dev561drivers/net/hp100.cdev -> tbusy = 1;
dev562drivers/net/hp100.cdev -> start = 0;
dev564drivers/net/hp100.cfree_irq( dev -> irq );
dev565drivers/net/hp100.cirq2dev_map[ dev -> irq ] = NULL;
dev574drivers/net/hp100.cstatic int hp100_start_xmit( struct sk_buff *skb, struct device *dev )
dev577drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev579drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev583drivers/net/hp100.chp100_stop_interface( dev );
dev584drivers/net/hp100.cif ( ( lp -> lan_type = hp100_sense_lan( dev ) ) < 0 )
dev586drivers/net/hp100.cprintk( "%s: no connection found - check wire\n", dev -> name );
dev587drivers/net/hp100.chp100_start_interface( dev );  /* 10Mb/s RX packets maybe handled */
dev591drivers/net/hp100.clp -> hub_status = hp100_login_to_vg_hub( dev );
dev592drivers/net/hp100.chp100_start_interface( dev );
dev600drivers/net/hp100.cif ( jiffies - dev -> trans_start < 2 * HZ ) return -EAGAIN;
dev604drivers/net/hp100.cprintk( "%s: login to 100Mb/s hub retry\n", dev -> name );
dev605drivers/net/hp100.chp100_stop_interface( dev );
dev606drivers/net/hp100.clp -> hub_status = hp100_login_to_vg_hub( dev );
dev607drivers/net/hp100.chp100_start_interface( dev );
dev612drivers/net/hp100.ci = hp100_sense_lan( dev );
dev616drivers/net/hp100.cprintk( "%s: link down detected\n", dev -> name );
dev621drivers/net/hp100.cprintk( "%s: cable change 10Mb/s <-> 100Mb/s detected\n", dev -> name );
dev623drivers/net/hp100.chp100_stop_interface( dev );
dev625drivers/net/hp100.clp -> hub_status = hp100_login_to_vg_hub( dev );
dev626drivers/net/hp100.chp100_start_interface( dev );
dev630drivers/net/hp100.cprintk( "%s: interface reset\n", dev -> name );
dev631drivers/net/hp100.chp100_stop_interface( dev );
dev632drivers/net/hp100.chp100_start_interface( dev );
dev635drivers/net/hp100.cdev -> trans_start = jiffies;
dev641drivers/net/hp100.cdev_tint( dev );
dev688drivers/net/hp100.cdev -> trans_start = jiffies;
dev704drivers/net/hp100.cstatic void hp100_rx( struct device *dev )
dev707drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev708drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev715drivers/net/hp100.cif ( ( lp -> lan_type = hp100_sense_lan( dev ) ) == HP100_LAN_100 )
dev716drivers/net/hp100.clp -> hub_status = hp100_login_to_vg_hub( dev );
dev765drivers/net/hp100.cskb -> dev = dev;
dev776drivers/net/hp100.cskb -> protocol = eth_type_trans( skb, dev );
dev801drivers/net/hp100.cstatic struct enet_statistics *hp100_get_stats( struct device *dev )
dev803drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev806drivers/net/hp100.chp100_update_stats( dev );
dev808drivers/net/hp100.creturn &((struct hp100_private *)dev -> priv) -> stats;
dev811drivers/net/hp100.cstatic void hp100_update_stats( struct device *dev )
dev813drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev815drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev849drivers/net/hp100.cstatic void hp100_set_multicast_list( struct device *dev)
dev851drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev852drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev855drivers/net/hp100.cprintk( "hp100_set_multicast_list: num_addrs = %d\n", dev->mc_count);
dev862drivers/net/hp100.cif ( dev->flags&IFF_PROMISC)
dev868drivers/net/hp100.cif ( dev->mc_count || dev->flags&IFF_ALLMULTI )
dev895drivers/net/hp100.cstruct device *dev = (struct device *)irq2dev_map[ irq ];
dev900drivers/net/hp100.cif ( dev == NULL ) return;
dev901drivers/net/hp100.cioaddr = dev -> base_addr;
dev902drivers/net/hp100.cif ( dev -> interrupt )
dev903drivers/net/hp100.cprintk( "%s: re-entering the interrupt handler\n", dev -> name );
dev905drivers/net/hp100.cdev -> interrupt = 1;
dev913drivers/net/hp100.chp100_rx( dev );
dev922drivers/net/hp100.clp = (struct hp100_private *)dev -> priv;
dev923drivers/net/hp100.chp100_update_stats( dev );
dev929drivers/net/hp100.cdev -> interrupt = 0;
dev937drivers/net/hp100.cstatic void hp100_start_interface( struct device *dev )
dev939drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev940drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev961drivers/net/hp100.cstatic void hp100_stop_interface( struct device *dev )
dev963drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev978drivers/net/hp100.cprintk( "%s: hp100_stop_interface - timeout\n", dev -> name );
dev981drivers/net/hp100.cstatic void hp100_load_eeprom( struct device *dev )
dev984drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev991drivers/net/hp100.cprintk( "%s: hp100_load_eeprom - timeout\n", dev -> name );
dev996drivers/net/hp100.cstatic int hp100_sense_lan( struct device *dev )
dev999drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev1001drivers/net/hp100.cstruct hp100_private *lp = (struct hp100_private *)dev -> priv;
dev1021drivers/net/hp100.cstatic int hp100_down_vg_link( struct device *dev )
dev1023drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev1045drivers/net/hp100.cstatic int hp100_login_to_vg_hub( struct device *dev )
dev1048drivers/net/hp100.cint ioaddr = dev -> base_addr;
dev1066drivers/net/hp100.cif ( hp100_down_vg_link( dev ) < 0 )  /* if fail, try reset VG link */
dev1091drivers/net/hp100.cprintk( "%s: 100Mb cable training failed, check cable.\n", dev -> name );
dev1093drivers/net/hp100.cprintk( "%s: 100Mb node not accepted by hub, check frame type or security.\n", dev -> name );
dev1096drivers/net/hp100.chp100_down_vg_link( dev );
dev95drivers/net/ibmtr.c#define DPRINTK(format, args...) printk("%s: " format, dev->name , ## args)
dev96drivers/net/ibmtr.c#define DPRINTD(format, args...) DummyCall("%s: " format, dev->name , ## args)
dev117drivers/net/ibmtr.cvoid (*do_tok_int)(struct device *dev)=NULL;
dev133drivers/net/ibmtr.cint tok_probe(struct device *dev);
dev139drivers/net/ibmtr.cstatic void initial_tok_int(struct device *dev);
dev141drivers/net/ibmtr.cstatic void open_sap(unsigned char type,struct device *dev);
dev143drivers/net/ibmtr.cstatic void tr_rx(struct device *dev);
dev144drivers/net/ibmtr.cstatic void tr_tx(struct device *dev);
dev146drivers/net/ibmtr.cstatic int tok_open(struct device *dev);
dev147drivers/net/ibmtr.cstatic int tok_close(struct device *dev);
dev148drivers/net/ibmtr.cstatic int tok_send_packet(struct sk_buff *skb, struct device *dev);
dev149drivers/net/ibmtr.cstatic struct enet_statistics * tok_get_stats(struct device *dev);
dev177drivers/net/ibmtr.cint tok_probe(struct device *dev)
dev295drivers/net/ibmtr.cdev->priv = ti;     /* this seems like the logical use of the
dev356drivers/net/ibmtr.cdev->dev_addr[(j/2)]=ti->hw_address[j]+(ti->hw_address[j-1]<<4);
dev484drivers/net/ibmtr.cif (request_irq (dev->irq = irq, &tok_interrupt,0,"IBM TR") != 0) {
dev489drivers/net/ibmtr.cirq2dev_map[irq]=dev;
dev503drivers/net/ibmtr.cdev->dev_addr[0], dev->dev_addr[1], dev->dev_addr[2],
dev504drivers/net/ibmtr.cdev->dev_addr[3], dev->dev_addr[4], dev->dev_addr[5]);
dev507drivers/net/ibmtr.cdev->base_addr=PIOaddr; /* set the value for device */
dev509drivers/net/ibmtr.cdev->open=tok_open;
dev510drivers/net/ibmtr.cdev->stop=tok_close;
dev511drivers/net/ibmtr.cdev->hard_start_xmit=tok_send_packet;
dev512drivers/net/ibmtr.cdev->get_stats = NULL;
dev513drivers/net/ibmtr.cdev->get_stats = tok_get_stats;
dev514drivers/net/ibmtr.cdev->set_multicast_list = NULL;
dev515drivers/net/ibmtr.ctr_setup(dev);
dev516drivers/net/ibmtr.ctok_init_card((unsigned long)dev);
dev544drivers/net/ibmtr.cstatic int tok_open(struct device *dev) {
dev546drivers/net/ibmtr.cstruct tok_info *ti=(struct tok_info *)dev->priv;
dev549drivers/net/ibmtr.ctok_init_card((unsigned long)dev);
dev557drivers/net/ibmtr.cdev->tbusy=0;
dev558drivers/net/ibmtr.cdev->interrupt=0;
dev559drivers/net/ibmtr.cdev->start=1;
dev572drivers/net/ibmtr.cstatic int tok_close(struct device *dev) {
dev574drivers/net/ibmtr.cstruct tok_info *ti=(struct tok_info *) dev->priv;
dev599drivers/net/ibmtr.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev601drivers/net/ibmtr.cDPRINTK("Int from tok_driver, dev : %p\n",dev);
dev603drivers/net/ibmtr.cti=(struct tok_info *) dev->priv;
dev613drivers/net/ibmtr.cdev->interrupt=1;
dev637drivers/net/ibmtr.cdev->interrupt=0;
dev647drivers/net/ibmtr.cdev->interrupt=0;
dev662drivers/net/ibmtr.cdev->tbusy=0;
dev675drivers/net/ibmtr.cdev->tbusy=0;
dev710drivers/net/ibmtr.copen_sap(EXTENDED_SAP,dev);
dev719drivers/net/ibmtr.ctr_timer.data=(unsigned long)dev;
dev734drivers/net/ibmtr.ctr_timer.data=(unsigned long)dev;
dev770drivers/net/ibmtr.cdev->tbusy=0;
dev805drivers/net/ibmtr.ctr_rx(dev);
dev816drivers/net/ibmtr.ctr_timer.data=(unsigned long)dev;
dev827drivers/net/ibmtr.cdev->tbusy=1; /* really srb busy... */
dev833drivers/net/ibmtr.ctr_tx(dev);
dev865drivers/net/ibmtr.cdev->interrupt=0;
dev872drivers/net/ibmtr.cinitial_tok_int(dev);
dev880drivers/net/ibmtr.cstatic void initial_tok_int(struct device *dev) {
dev888drivers/net/ibmtr.cti=(struct tok_info *) dev->priv;
dev936drivers/net/ibmtr.cprintk("%02X%s",dev->dev_addr[i]=encoded_addr[i],(i==TR_ALEN-1) ? "" : ":" );
dev940drivers/net/ibmtr.ctok_open_adapter((unsigned long)dev);
dev949drivers/net/ibmtr.cstruct  device *dev=(struct device *)dev_addr;
dev950drivers/net/ibmtr.cPIOaddr = dev->base_addr;
dev951drivers/net/ibmtr.cti=(struct tok_info *) dev->priv;
dev958drivers/net/ibmtr.cdev->tbusy=1; /* nothing can be done before reset and open completed */
dev983drivers/net/ibmtr.cstatic void open_sap(unsigned char type,struct device *dev) {
dev985drivers/net/ibmtr.cstruct tok_info *ti=(struct tok_info *) dev->priv;
dev1003drivers/net/ibmtr.cstruct device *dev=(struct device *)dev_addr;
dev1006drivers/net/ibmtr.cti=(struct tok_info *) dev->priv;
dev1034drivers/net/ibmtr.cstatic void tr_tx(struct device *dev) {
dev1036drivers/net/ibmtr.cstruct tok_info *ti=(struct tok_info *) dev->priv;
dev1123drivers/net/ibmtr.cdev->tbusy=0;
dev1129drivers/net/ibmtr.cstatic void tr_rx(struct device *dev) {
dev1131drivers/net/ibmtr.cstruct tok_info *ti=(struct tok_info *) dev->priv;
dev1192drivers/net/ibmtr.cskb->dev=dev;
dev1229drivers/net/ibmtr.cskb->protocol=tr_type_trans(skb,dev);
dev1235drivers/net/ibmtr.cstatic int tok_send_packet(struct sk_buff *skb, struct device *dev) {
dev1237drivers/net/ibmtr.cstruct tok_info *ti=(struct tok_info *) dev->priv;
dev1243drivers/net/ibmtr.cif (dev->tbusy) {
dev1244drivers/net/ibmtr.cint ticks_waited=jiffies - dev->trans_start;
dev1250drivers/net/ibmtr.cdev->trans_start+=5; /* we fake the transmission start time... */
dev1257drivers/net/ibmtr.cdev_tint(dev);
dev1261drivers/net/ibmtr.cif(set_bit(0,(void *)&dev->tbusy)!=0)
dev1271drivers/net/ibmtr.cdev->trans_start=jiffies;
dev1282drivers/net/ibmtr.cstatic struct enet_statistics * tok_get_stats(struct device *dev) {
dev1285drivers/net/ibmtr.ctoki=(struct tok_info *) dev->priv;
dev253drivers/net/lance.cstatic int lance_open(struct device *dev);
dev254drivers/net/lance.cstatic void lance_init_ring(struct device *dev);
dev255drivers/net/lance.cstatic int lance_start_xmit(struct sk_buff *skb, struct device *dev);
dev256drivers/net/lance.cstatic int lance_rx(struct device *dev);
dev258drivers/net/lance.cstatic int lance_close(struct device *dev);
dev259drivers/net/lance.cstatic struct enet_statistics *lance_get_stats(struct device *dev);
dev260drivers/net/lance.cstatic void set_multicast_list(struct device *dev);
dev335drivers/net/lance.cstruct device *dev;
dev393drivers/net/lance.cdev = init_etherdev(0, 0);
dev395drivers/net/lance.cprintk("%s: %s at %#3x,", dev->name, chipname, ioaddr);
dev400drivers/net/lance.cprintk(" %2.2x", dev->dev_addr[i] = inb(ioaddr + i));
dev402drivers/net/lance.cdev->base_addr = ioaddr;
dev408drivers/net/lance.cdev->priv = lp;
dev419drivers/net/lance.clp->init_block.phys_addr[i] = dev->dev_addr[i];
dev435drivers/net/lance.cdev->dma = 4;      /* Native bus-master, no DMA channel needed. */
dev436drivers/net/lance.cdev->irq = pci_irq_line;
dev441drivers/net/lance.cdev->dma = dma_tbl[(port_val >> 4) & 3];
dev442drivers/net/lance.cdev->irq = irq_tbl[(port_val >> 2) & 3];
dev443drivers/net/lance.cprintk(" HP Vectra IRQ %d DMA %d.\n", dev->irq, dev->dma);
dev448drivers/net/lance.cdev->dma = dma_tbl[(reset_val >> 2) & 3];
dev449drivers/net/lance.cdev->irq = irq_tbl[(reset_val >> 4) & 7];
dev450drivers/net/lance.cprintk(" HP J2405A IRQ %d DMA %d.\n", dev->irq, dev->dma);
dev455drivers/net/lance.cdev->dma = bus_info & 0x07;
dev456drivers/net/lance.cdev->irq = (bus_info >> 4) & 0x0F;
dev459drivers/net/lance.cif (dev->mem_start & 0x07)
dev460drivers/net/lance.cdev->dma = dev->mem_start & 0x07;
dev463drivers/net/lance.cif (dev->dma == 0) {
dev469drivers/net/lance.cif (dev->irq >= 2)
dev470drivers/net/lance.cprintk(" assigned IRQ %d", dev->irq);
dev480drivers/net/lance.cdev->irq = autoirq_report(1);
dev481drivers/net/lance.cif (dev->irq)
dev482drivers/net/lance.cprintk(", probed IRQ %d", dev->irq);
dev491drivers/net/lance.cdev->dma = 4;
dev494drivers/net/lance.cif (dev->dma == 4) {
dev496drivers/net/lance.c} else if (dev->dma) {
dev497drivers/net/lance.cif (request_dma(dev->dma, chipname)) {
dev498drivers/net/lance.cprintk("DMA %d allocation failed.\n", dev->dma);
dev501drivers/net/lance.cprintk(", assigned DMA %d.\n", dev->dma);
dev524drivers/net/lance.cdev->dma = dma;
dev525drivers/net/lance.cprintk(", DMA %d.\n", dev->dma);
dev549drivers/net/lance.cdev->open = &lance_open;
dev550drivers/net/lance.cdev->hard_start_xmit = &lance_start_xmit;
dev551drivers/net/lance.cdev->stop = &lance_close;
dev552drivers/net/lance.cdev->get_stats = &lance_get_stats;
dev553drivers/net/lance.cdev->set_multicast_list = &set_multicast_list;
dev560drivers/net/lance.clance_open(struct device *dev)
dev562drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev563drivers/net/lance.cint ioaddr = dev->base_addr;
dev566drivers/net/lance.cif (dev->irq == 0 ||
dev567drivers/net/lance.crequest_irq(dev->irq, &lance_interrupt, 0, lp->name)) {
dev574drivers/net/lance.cirq2dev_map[dev->irq] = dev;
dev580drivers/net/lance.cif (dev->dma != 4) {
dev581drivers/net/lance.cenable_dma(dev->dma);
dev582drivers/net/lance.cset_dma_mode(dev->dma, DMA_MODE_CASCADE);
dev597drivers/net/lance.cdev->name, dev->irq, dev->dma, (int) lp->tx_ring, (int) lp->rx_ring,
dev600drivers/net/lance.clance_init_ring(dev);
dev613drivers/net/lance.cdev->tbusy = 0;
dev614drivers/net/lance.cdev->interrupt = 0;
dev615drivers/net/lance.cdev->start = 1;
dev628drivers/net/lance.cdev->name, i, (int) &lp->init_block, inw(ioaddr+LANCE_DATA));
dev646drivers/net/lance.clance_purge_tx_ring(struct device *dev)
dev648drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev662drivers/net/lance.clance_init_ring(struct device *dev)
dev664drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev683drivers/net/lance.clp->init_block.phys_addr[i] = dev->dev_addr[i];
dev691drivers/net/lance.clance_restart(struct device *dev, unsigned int csr0_bits, int must_reinit)
dev693drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev697drivers/net/lance.clance_purge_tx_ring(dev);
dev698drivers/net/lance.clance_init_ring(dev);
dev700drivers/net/lance.coutw(0x0000,    dev->base_addr + LANCE_ADDR);
dev701drivers/net/lance.coutw(csr0_bits, dev->base_addr + LANCE_DATA);
dev705drivers/net/lance.clance_start_xmit(struct sk_buff *skb, struct device *dev)
dev707drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev708drivers/net/lance.cint ioaddr = dev->base_addr;
dev713drivers/net/lance.cif (dev->tbusy) {
dev714drivers/net/lance.cint tickssofar = jiffies - dev->trans_start;
dev719drivers/net/lance.cdev->name, inw(ioaddr+LANCE_DATA));
dev739drivers/net/lance.clance_restart(dev, 0x0043, 1);
dev741drivers/net/lance.cdev->tbusy=0;
dev742drivers/net/lance.cdev->trans_start = jiffies;
dev748drivers/net/lance.cdev_tint(dev);
dev757drivers/net/lance.cprintk("%s: lance_start_xmit() called, csr0 %4.4x.\n", dev->name,
dev764drivers/net/lance.cif (set_bit(0, (void*)&dev->tbusy) != 0) {
dev765drivers/net/lance.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev771drivers/net/lance.cprintk("%s: tx queue lock!.\n", dev->name);
dev798drivers/net/lance.cdev->name, (int)(skb->data));
dev813drivers/net/lance.cdev->trans_start = jiffies;
dev819drivers/net/lance.cdev->tbusy=0;
dev831drivers/net/lance.cstruct device *dev = (struct device *)(irq2dev_map[irq]);
dev836drivers/net/lance.cif (dev == NULL) {
dev841drivers/net/lance.cioaddr = dev->base_addr;
dev842drivers/net/lance.clp = (struct lance_private *)dev->priv;
dev843drivers/net/lance.cif (dev->interrupt)
dev844drivers/net/lance.cprintk("%s: Re-entering the interrupt handler.\n", dev->name);
dev846drivers/net/lance.cdev->interrupt = 1;
dev848drivers/net/lance.coutw(0x00, dev->base_addr + LANCE_ADDR);
dev849drivers/net/lance.cwhile ((csr0 = inw(dev->base_addr + LANCE_DATA)) & 0x8600
dev852drivers/net/lance.coutw(csr0 & ~0x004f, dev->base_addr + LANCE_DATA);
dev858drivers/net/lance.cdev->name, csr0, inw(dev->base_addr + LANCE_DATA));
dev861drivers/net/lance.clance_rx(dev);
dev887drivers/net/lance.cdev->name, csr0);
dev914drivers/net/lance.cif (lp->tx_full && dev->tbusy
dev918drivers/net/lance.cdev->tbusy = 0;
dev930drivers/net/lance.cdev->name, csr0);
dev937drivers/net/lance.coutw(0x0000, dev->base_addr + LANCE_ADDR);
dev938drivers/net/lance.coutw(0x0004, dev->base_addr + LANCE_DATA);
dev939drivers/net/lance.clance_restart(dev, 0x0002, 0);
dev944drivers/net/lance.coutw(0x0000, dev->base_addr + LANCE_ADDR);
dev945drivers/net/lance.coutw(0x7940, dev->base_addr + LANCE_DATA);
dev949drivers/net/lance.cdev->name, inw(ioaddr + LANCE_ADDR),
dev950drivers/net/lance.cinw(dev->base_addr + LANCE_DATA));
dev952drivers/net/lance.cdev->interrupt = 0;
dev957drivers/net/lance.clance_rx(struct device *dev)
dev959drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev986drivers/net/lance.cprintk("%s: Memory squeeze, deferring packet.\n", dev->name);
dev998drivers/net/lance.cskb->dev = dev;
dev1004drivers/net/lance.cskb->protocol=eth_type_trans(skb,dev);
dev1023drivers/net/lance.clance_close(struct device *dev)
dev1025drivers/net/lance.cint ioaddr = dev->base_addr;
dev1026drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev1028drivers/net/lance.cdev->start = 0;
dev1029drivers/net/lance.cdev->tbusy = 1;
dev1039drivers/net/lance.cdev->name, inw(ioaddr+LANCE_DATA));
dev1045drivers/net/lance.cif (dev->dma != 4)
dev1046drivers/net/lance.cdisable_dma(dev->dma);
dev1048drivers/net/lance.cfree_irq(dev->irq);
dev1050drivers/net/lance.cirq2dev_map[dev->irq] = 0;
dev1056drivers/net/lance.clance_get_stats(struct device *dev)
dev1058drivers/net/lance.cstruct lance_private *lp = (struct lance_private *)dev->priv;
dev1059drivers/net/lance.cshort ioaddr = dev->base_addr;
dev1079drivers/net/lance.cstatic void set_multicast_list(struct device *dev)
dev1081drivers/net/lance.cshort ioaddr = dev->base_addr;
dev1086drivers/net/lance.cif (dev->flags&IFF_PROMISC) {
dev1088drivers/net/lance.cprintk("%s: Promiscuous mode enabled.\n", dev->name);
dev1094drivers/net/lance.cint num_addrs=dev->mc_count;
dev1095drivers/net/lance.cif(dev->flags&IFF_ALLMULTI)
dev1107drivers/net/lance.clance_restart(dev, 0x0142, 0); /*  Resume normal operation */
dev51drivers/net/loopback.cstatic int loopback_xmit(struct sk_buff *skb, struct device *dev)
dev53drivers/net/loopback.cstruct enet_statistics *stats = (struct enet_statistics *)dev->priv;
dev57drivers/net/loopback.cif (skb == NULL || dev == NULL) 
dev62drivers/net/loopback.cif (dev->tbusy != 0) 
dev68drivers/net/loopback.cdev->tbusy = 1;
dev98drivers/net/loopback.cskb->protocol=eth_type_trans(skb,dev);
dev99drivers/net/loopback.cskb->dev=dev;
dev110drivers/net/loopback.cdev->tbusy = 0;
dev115drivers/net/loopback.cstatic struct enet_statistics *get_stats(struct device *dev)
dev117drivers/net/loopback.creturn (struct enet_statistics *)dev->priv;
dev120drivers/net/loopback.cstatic int loopback_open(struct device *dev)
dev122drivers/net/loopback.cdev->flags|=IFF_LOOPBACK;
dev127drivers/net/loopback.cint loopback_init(struct device *dev)
dev131drivers/net/loopback.cdev->mtu    = 7900;      /* MTU      */
dev136drivers/net/loopback.cdev->mtu    = 2000;      /* Kept under 1 page    */
dev138drivers/net/loopback.cdev->tbusy    = 0;
dev139drivers/net/loopback.cdev->hard_start_xmit  = loopback_xmit;
dev140drivers/net/loopback.cdev->open    = NULL;
dev141drivers/net/loopback.cdev->hard_header  = eth_header;
dev142drivers/net/loopback.cdev->hard_header_len  = ETH_HLEN;    /* 14      */
dev143drivers/net/loopback.cdev->addr_len    = ETH_ALEN;    /* 6      */
dev144drivers/net/loopback.cdev->type    = ARPHRD_ETHER;    /* 0x0001    */
dev145drivers/net/loopback.cdev->rebuild_header  = eth_rebuild_header;
dev146drivers/net/loopback.cdev->open    = loopback_open;
dev147drivers/net/loopback.cdev->flags    = IFF_LOOPBACK|IFF_BROADCAST;
dev148drivers/net/loopback.cdev->family    = AF_INET;
dev150drivers/net/loopback.cdev->pa_addr    = in_aton("127.0.0.1");
dev151drivers/net/loopback.cdev->pa_brdaddr    = in_aton("127.255.255.255");
dev152drivers/net/loopback.cdev->pa_mask    = in_aton("255.0.0.0");
dev153drivers/net/loopback.cdev->pa_alen    = 4;
dev155drivers/net/loopback.cdev->priv = kmalloc(sizeof(struct enet_statistics), GFP_KERNEL);
dev156drivers/net/loopback.cif (dev->priv == NULL)
dev158drivers/net/loopback.cmemset(dev->priv, 0, sizeof(struct enet_statistics));
dev159drivers/net/loopback.cdev->get_stats = get_stats;
dev166drivers/net/loopback.cskb_queue_head_init(&dev->buffs[i]);
dev82drivers/net/ne.c#define NE_BASE   (dev->base_addr)
dev93drivers/net/ne.cint ne_probe(struct device *dev);
dev94drivers/net/ne.cstatic int ne_probe1(struct device *dev, int ioaddr);
dev96drivers/net/ne.cstatic int ne_open(struct device *dev);
dev97drivers/net/ne.cstatic int ne_close(struct device *dev);
dev99drivers/net/ne.cstatic void ne_reset_8390(struct device *dev);
dev100drivers/net/ne.cstatic void ne_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr,
dev102drivers/net/ne.cstatic void ne_block_input(struct device *dev, int count,
dev104drivers/net/ne.cstatic void ne_block_output(struct device *dev, const int count,
dev134drivers/net/ne.cint ne_probe(struct device *dev)
dev137drivers/net/ne.cint base_addr = dev ? dev->base_addr : 0;
dev140drivers/net/ne.creturn ne_probe1(dev, base_addr);
dev148drivers/net/ne.cif (ne_probe1(dev, ioaddr) == 0)
dev156drivers/net/ne.cstatic int ne_probe1(struct device *dev, int ioaddr)
dev289drivers/net/ne.cif (dev == NULL) {
dev291drivers/net/ne.cdev = init_etherdev(0, 0);
dev294drivers/net/ne.cif (dev->irq < 2) {
dev301drivers/net/ne.cdev->irq = autoirq_report(0);
dev303drivers/net/ne.cprintk(" autoirq is %d\n", dev->irq);
dev304drivers/net/ne.c} else if (dev->irq == 2)
dev307drivers/net/ne.cdev->irq = 9;
dev309drivers/net/ne.cif (! dev->irq) {
dev317drivers/net/ne.cint irqval = request_irq(dev->irq, ei_interrupt, 0, name);
dev319drivers/net/ne.cprintk (" unable to get IRQ %d (irqval=%d).\n", dev->irq, irqval);
dev324drivers/net/ne.cdev->base_addr = ioaddr;
dev327drivers/net/ne.cif (ethdev_init(dev)) {
dev329drivers/net/ne.cfree_irq(dev->irq);
dev337drivers/net/ne.cdev->dev_addr[i] = SA_prom[i];
dev341drivers/net/ne.cdev->name, name, ioaddr, dev->irq);
dev358drivers/net/ne.cdev->open = &ne_open;
dev359drivers/net/ne.cdev->stop = &ne_close;
dev360drivers/net/ne.cNS8390_init(dev, 0);
dev365drivers/net/ne.cne_open(struct device *dev)
dev367drivers/net/ne.cei_open(dev);
dev373drivers/net/ne.cne_close(struct device *dev)
dev376drivers/net/ne.cprintk("%s: Shutting down ethercard.\n", dev->name);
dev377drivers/net/ne.cei_close(dev);
dev385drivers/net/ne.cne_reset_8390(struct device *dev)
dev400drivers/net/ne.cprintk("%s: ne_reset_8390() did not complete.\n", dev->name);
dev411drivers/net/ne.cne_get_8390_hdr(struct device *dev, struct e8390_pkt_hdr *hdr, int ring_page)
dev414drivers/net/ne.cint nic_base = dev->base_addr;
dev420drivers/net/ne.cdev->name, ei_status.dmaing, ei_status.irqlock,
dev421drivers/net/ne.cdev->interrupt);
dev448drivers/net/ne.cne_block_input(struct device *dev, int count, struct sk_buff *skb, int ring_offset)
dev453drivers/net/ne.cint nic_base = dev->base_addr;
dev460drivers/net/ne.cdev->name, ei_status.dmaing, ei_status.irqlock,
dev461drivers/net/ne.cdev->interrupt);
dev502drivers/net/ne.cdev->name, ring_offset + xfer_count, addr);
dev510drivers/net/ne.cne_block_output(struct device *dev, int count,
dev529drivers/net/ne.cdev->name, ei_status.dmaing, ei_status.irqlock,
dev530drivers/net/ne.cdev->interrupt);
dev589drivers/net/ne.cdev->name, (start_page << 8) + count, addr);
dev598drivers/net/ne.cprintk("%s: timeout waiting for Tx RDC.\n", dev->name);
dev599drivers/net/ne.cne_reset_8390(dev);
dev600drivers/net/ne.cNS8390_init(dev,1);
dev637drivers/net/ne.cstruct device *dev = &dev_ne[this_dev];
dev638drivers/net/ne.cdev->name = namelist+(NAMELEN*this_dev);
dev639drivers/net/ne.cdev->irq = irq[this_dev];
dev640drivers/net/ne.cdev->base_addr = io[this_dev];
dev641drivers/net/ne.cdev->init = ne_probe;
dev647drivers/net/ne.cif (register_netdev(dev) != 0) {
dev664drivers/net/ne.cstruct device *dev = &dev_ne[this_dev];
dev665drivers/net/ne.cif (dev->priv != NULL) {
dev666drivers/net/ne.ckfree(dev->priv);
dev667drivers/net/ne.cdev->priv = NULL;
dev668drivers/net/ne.cfree_irq(dev->irq);
dev669drivers/net/ne.cirq2dev_map[dev->irq] = NULL;
dev670drivers/net/ne.crelease_region(dev->base_addr, NE_IO_EXTENT);
dev671drivers/net/ne.cunregister_netdev(dev);
dev71drivers/net/net_init.cinit_etherdev(struct device *dev, int sizeof_priv)
dev77drivers/net/net_init.cif (dev == NULL) {
dev88drivers/net/net_init.cdev = cur_dev;
dev89drivers/net/net_init.cdev->init = NULL;
dev91drivers/net/net_init.cdev->priv = sizeof_priv
dev94drivers/net/net_init.cif (dev->priv) memset(dev->priv, 0, sizeof_priv);
dev101drivers/net/net_init.cdev = (struct device *)kmalloc(alloc_size, GFP_KERNEL);
dev102drivers/net/net_init.cmemset(dev, 0, alloc_size);
dev104drivers/net/net_init.cdev->priv = (void *) (dev + 1);
dev105drivers/net/net_init.cdev->name = sizeof_priv + (char *)(dev + 1);
dev111drivers/net/net_init.cif (dev->name &&
dev112drivers/net/net_init.c((dev->name[0] == '\0') || (dev->name[0] == ' '))) {
dev115drivers/net/net_init.csprintf(dev->name, "eth%d", i);
dev116drivers/net/net_init.cethdev_index[i] = dev;
dev121drivers/net/net_init.cether_setup(dev);   /* Hmmm, should this be called here? */
dev128drivers/net/net_init.c(*old_devp)->next = dev;
dev129drivers/net/net_init.cdev->next = 0;
dev131drivers/net/net_init.creturn dev;
dev135drivers/net/net_init.cstatic int eth_mac_addr(struct device *dev, void *p)
dev138drivers/net/net_init.cif(dev->start)
dev140drivers/net/net_init.cmemcpy(dev->dev_addr, addr->sa_data,dev->addr_len);
dev144drivers/net/net_init.cvoid ether_setup(struct device *dev)
dev150drivers/net/net_init.cskb_queue_head_init(&dev->buffs[i]);
dev153drivers/net/net_init.cif (dev->name && (strncmp(dev->name, "eth", 3) == 0)) {
dev154drivers/net/net_init.ci = simple_strtoul(dev->name + 3, NULL, 0);
dev156drivers/net/net_init.cethdev_index[i] = dev;
dev158drivers/net/net_init.celse if (dev != ethdev_index[i]) {
dev161drivers/net/net_init.cdev->name);
dev165drivers/net/net_init.cdev->hard_header  = eth_header;
dev166drivers/net/net_init.cdev->rebuild_header = eth_rebuild_header;
dev167drivers/net/net_init.cdev->set_mac_address = eth_mac_addr;
dev168drivers/net/net_init.cdev->header_cache_bind = eth_header_cache_bind;
dev169drivers/net/net_init.cdev->header_cache_update = eth_header_cache_update;
dev171drivers/net/net_init.cdev->type    = ARPHRD_ETHER;
dev172drivers/net/net_init.cdev->hard_header_len = ETH_HLEN;
dev173drivers/net/net_init.cdev->mtu    = 1500; /* eth_mtu */
dev174drivers/net/net_init.cdev->addr_len  = ETH_ALEN;
dev176drivers/net/net_init.cdev->broadcast[i]=0xff;
dev180drivers/net/net_init.cdev->flags    = IFF_BROADCAST|IFF_MULTICAST;
dev181drivers/net/net_init.cdev->family    = AF_INET;
dev182drivers/net/net_init.cdev->pa_addr  = 0;
dev183drivers/net/net_init.cdev->pa_brdaddr = 0;
dev184drivers/net/net_init.cdev->pa_mask  = 0;
dev185drivers/net/net_init.cdev->pa_alen  = 4;
dev190drivers/net/net_init.cvoid tr_setup(struct device *dev)
dev196drivers/net/net_init.cskb_queue_head_init(&dev->buffs[i]);
dev198drivers/net/net_init.cdev->hard_header  = tr_header;
dev199drivers/net/net_init.cdev->rebuild_header = tr_rebuild_header;
dev201drivers/net/net_init.cdev->type    = ARPHRD_IEEE802;
dev202drivers/net/net_init.cdev->hard_header_len = TR_HLEN;
dev203drivers/net/net_init.cdev->mtu    = 2000; /* bug in fragmenter...*/
dev204drivers/net/net_init.cdev->addr_len  = TR_ALEN;
dev206drivers/net/net_init.cdev->broadcast[i]=0xff;
dev210drivers/net/net_init.cdev->flags    = IFF_BROADCAST;
dev211drivers/net/net_init.cdev->family    = AF_INET;
dev212drivers/net/net_init.cdev->pa_addr  = 0;
dev213drivers/net/net_init.cdev->pa_brdaddr = 0;
dev214drivers/net/net_init.cdev->pa_mask  = 0;
dev215drivers/net/net_init.cdev->pa_alen  = 4;
dev220drivers/net/net_init.cint ether_config(struct device *dev, struct ifmap *map)
dev223drivers/net/net_init.cdev->mem_start = map->mem_start;
dev225drivers/net/net_init.cdev->mem_end = map->mem_end;
dev227drivers/net/net_init.cdev->base_addr = map->base_addr;
dev229drivers/net/net_init.cdev->irq = map->irq;
dev231drivers/net/net_init.cdev->dma = map->dma;
dev233drivers/net/net_init.cdev->if_port = map->port;
dev237drivers/net/net_init.cint register_netdev(struct device *dev)
dev246drivers/net/net_init.cif (dev && dev->init) {
dev247drivers/net/net_init.cif (dev->name &&
dev248drivers/net/net_init.c((dev->name[0] == '\0') || (dev->name[0] == ' '))) {
dev251drivers/net/net_init.csprintf(dev->name, "eth%d", i);
dev252drivers/net/net_init.cprintk("loading device '%s'...\n", dev->name);
dev253drivers/net/net_init.cethdev_index[i] = dev;
dev258drivers/net/net_init.cif (dev->init(dev) != 0) {
dev268drivers/net/net_init.cd->next = dev;
dev271drivers/net/net_init.cdev_base = dev;
dev272drivers/net/net_init.cdev->next = NULL;
dev278drivers/net/net_init.cvoid unregister_netdev(struct device *dev)
dev287drivers/net/net_init.cif (dev == NULL) 
dev294drivers/net/net_init.cif (dev->start)
dev295drivers/net/net_init.cprintk("ERROR '%s' busy and not MOD_IN_USE.\n", dev->name);
dev296drivers/net/net_init.cif (dev_base == dev)
dev297drivers/net/net_init.cdev_base = dev->next;
dev300drivers/net/net_init.cwhile (d && (d->next != dev))
dev303drivers/net/net_init.cif (d && (d->next == dev)) 
dev305drivers/net/net_init.cd->next = dev->next;
dev309drivers/net/net_init.cprintk("unregister_netdev: '%s' not found\n", dev->name);
dev316drivers/net/net_init.cif (ethdev_index[i] == dev) 
dev329drivers/net/net_init.cdev_close(dev);
dev102drivers/net/ni52.c#define ni_attn586()  {outb(0,dev->base_addr+NI52_ATTENTION);}
dev103drivers/net/ni52.c#define ni_reset586() {outb(0,dev->base_addr+NI52_RESET);}
dev148drivers/net/ni52.cprintk("%s: scb_cmd timed out .. resetting i82586\n",dev->name); \
dev162drivers/net/ni52.cstatic int     ni52_probe1(struct device *dev,int ioaddr);
dev164drivers/net/ni52.cstatic int     ni52_open(struct device *dev);
dev165drivers/net/ni52.cstatic int     ni52_close(struct device *dev);
dev167drivers/net/ni52.cstatic struct  enet_statistics *ni52_get_stats(struct device *dev);
dev168drivers/net/ni52.cstatic void    set_multicast_list(struct device *dev);
dev171drivers/net/ni52.cstatic int     init586(struct device *dev);
dev172drivers/net/ni52.cstatic int     check586(struct device *dev,char *where,unsigned size);
dev173drivers/net/ni52.cstatic void    alloc586(struct device *dev);
dev174drivers/net/ni52.cstatic void    startrecv586(struct device *dev);
dev175drivers/net/ni52.cstatic void   *alloc_rfa(struct device *dev,void *ptr);
dev176drivers/net/ni52.cstatic void    ni52_rcv_int(struct device *dev);
dev177drivers/net/ni52.cstatic void    ni52_xmt_int(struct device *dev);
dev178drivers/net/ni52.cstatic void    ni52_rnr_int(struct device *dev);
dev206drivers/net/ni52.cstatic int ni52_close(struct device *dev)
dev208drivers/net/ni52.cfree_irq(dev->irq);
dev209drivers/net/ni52.cirq2dev_map[dev->irq] = 0;
dev213drivers/net/ni52.cdev->start = 0;
dev214drivers/net/ni52.cdev->tbusy = 0;
dev223drivers/net/ni52.cstatic int ni52_open(struct device *dev)
dev225drivers/net/ni52.calloc586(dev);
dev226drivers/net/ni52.cinit586(dev);  
dev227drivers/net/ni52.cstartrecv586(dev);
dev229drivers/net/ni52.cif(request_irq(dev->irq, &ni52_interrupt,0,"ni52")) 
dev234drivers/net/ni52.cirq2dev_map[dev->irq] = dev;
dev236drivers/net/ni52.cdev->interrupt = 0;
dev237drivers/net/ni52.cdev->tbusy = 0;
dev238drivers/net/ni52.cdev->start = 1;
dev247drivers/net/ni52.cstatic int check586(struct device *dev,char *where,unsigned size)
dev249drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev284drivers/net/ni52.cvoid alloc586(struct device *dev)
dev286drivers/net/ni52.cstruct priv *p =  (struct priv *) dev->priv; 
dev292drivers/net/ni52.cp->scb  = (struct scb_struct *)  (dev->mem_start);
dev309drivers/net/ni52.cprintk("%s: Init-Problems (alloc).\n",dev->name);
dev318drivers/net/ni52.cint ni52_probe(struct device *dev)
dev321drivers/net/ni52.cint base_addr = dev->base_addr;
dev326drivers/net/ni52.creturn ni52_probe1(dev, base_addr);
dev338drivers/net/ni52.cdev->base_addr = ioaddr;
dev339drivers/net/ni52.cif (ni52_probe1(dev, ioaddr) == 0)
dev343drivers/net/ni52.cdev->base_addr = base_addr;
dev347drivers/net/ni52.cstatic int ni52_probe1(struct device *dev,int ioaddr)
dev353drivers/net/ni52.cdev->dev_addr[i] = inb(dev->base_addr+i);
dev355drivers/net/ni52.cif(dev->dev_addr[0] != NI52_ADDR0 || dev->dev_addr[1] != NI52_ADDR1
dev356drivers/net/ni52.c|| dev->dev_addr[2] != NI52_ADDR2)
dev359drivers/net/ni52.cprintk("%s: Ni52 found at %#3lx, ",dev->name,dev->base_addr);
dev363drivers/net/ni52.cdev->priv = (void *) kmalloc(sizeof(struct priv),GFP_KERNEL); 
dev365drivers/net/ni52.cif (dev->priv == NULL)
dev367drivers/net/ni52.cmemset((char *) dev->priv,0,sizeof(struct priv));
dev372drivers/net/ni52.cif(dev->mem_start != 0) /* no auto-mem-probe */
dev375drivers/net/ni52.cif(!check586(dev,(char *) dev->mem_start,size)) {
dev377drivers/net/ni52.cif(!check586(dev,(char *) dev->mem_start,size)) {
dev378drivers/net/ni52.cprintk("?memprobe, Can't find memory at 0x%lx!\n",dev->mem_start);
dev391drivers/net/ni52.cdev->mem_start = memaddrs[i];
dev393drivers/net/ni52.cif(check586(dev,(char *)dev->mem_start,size)) /* 8K-check */
dev396drivers/net/ni52.cif(check586(dev,(char *)dev->mem_start,size)) /* 16K-check */
dev400drivers/net/ni52.cdev->mem_end = dev->mem_start + size; /* set mem_end showed by 'ifconfig' */
dev402drivers/net/ni52.c((struct priv *) (dev->priv))->base =  dev->mem_start + size - 0x01000000;
dev403drivers/net/ni52.calloc586(dev);
dev407drivers/net/ni52.c((struct priv *) dev->priv)->num_recv_buffs = NUM_RECV_BUFFS_8;
dev409drivers/net/ni52.c((struct priv *) dev->priv)->num_recv_buffs = NUM_RECV_BUFFS_16;
dev411drivers/net/ni52.cprintk("Memaddr: 0x%lx, Memsize: %d, ",dev->mem_start,size);
dev413drivers/net/ni52.cif(dev->irq < 2)
dev418drivers/net/ni52.cif(!(dev->irq = autoirq_report(2)))
dev424drivers/net/ni52.celse if(dev->irq == 2) 
dev425drivers/net/ni52.cdev->irq = 9;
dev427drivers/net/ni52.cprintk("IRQ %d.\n",dev->irq);
dev429drivers/net/ni52.cdev->open            = &ni52_open;
dev430drivers/net/ni52.cdev->stop            = &ni52_close;
dev431drivers/net/ni52.cdev->get_stats       = &ni52_get_stats;
dev432drivers/net/ni52.cdev->hard_start_xmit = &ni52_send_packet;
dev433drivers/net/ni52.cdev->set_multicast_list = &set_multicast_list;
dev435drivers/net/ni52.cdev->if_port          = 0;
dev437drivers/net/ni52.cether_setup(dev);
dev439drivers/net/ni52.cdev->tbusy = 0;
dev440drivers/net/ni52.cdev->interrupt = 0;
dev441drivers/net/ni52.cdev->start = 0;
dev451drivers/net/ni52.cstatic int init586(struct device *dev)
dev456drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev461drivers/net/ni52.cstruct dev_mc_list *dmi=dev->mc_list;
dev462drivers/net/ni52.cint num_addrs=dev->mc_count;
dev480drivers/net/ni52.cif(dev->flags&(IFF_ALLMULTI|IFF_PROMISC))
dev483drivers/net/ni52.cdev->flags|=IFF_PROMISC;
dev498drivers/net/ni52.cprintk("%s (ni52): configure command failed: %x\n",dev->name,cfg_cmd->cmd_status);
dev511drivers/net/ni52.cmemcpy((char *)&ias_cmd->iaddr,(char *) dev->dev_addr,ETH_ALEN);
dev523drivers/net/ni52.cprintk("%s (ni52): individual address setup command failed: %04x\n",dev->name,ias_cmd->cmd_status);
dev545drivers/net/ni52.cprintk("%s: Problems while running the TDR.\n",dev->name);
dev559drivers/net/ni52.cprintk("%s: TDR: Transceiver problem!\n",dev->name);
dev561drivers/net/ni52.cprintk("%s: TDR: No correct termination %d clocks away.\n",dev->name,result & TDR_TIMEMASK);
dev565drivers/net/ni52.cprintk("%s: TDR: Detected a short circuit %d clocks away.\n",dev->name,result & TDR_TIMEMASK);
dev568drivers/net/ni52.cprintk("%s: TDR: Unknown status %04x\n",dev->name,result);
dev604drivers/net/ni52.cptr = alloc_rfa(dev,(void *)ptr); /* init receive-frame-area */ 
dev610drivers/net/ni52.cif(dev->mc_count)
dev615drivers/net/ni52.cprintk("%s: Ooooops, no memory for MC-Setup!\n",dev->name);
dev623drivers/net/ni52.cprintk("%s: Sorry, can only apply %d MC-Address(es).\n",dev->name,num_addrs);
dev643drivers/net/ni52.cprintk("%s: Can't apply multicast-address-list.\n",dev->name);
dev658drivers/net/ni52.cprintk("%s: not enough shared-mem for your configuration!\n",dev->name);
dev697drivers/net/ni52.cstatic void *alloc_rfa(struct device *dev,void *ptr) 
dev702drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev743drivers/net/ni52.cstruct device *dev = (struct device *) irq2dev_map[irq];
dev747drivers/net/ni52.cif (dev == NULL) {
dev751drivers/net/ni52.cp = (struct priv *) dev->priv;
dev753drivers/net/ni52.cdev->interrupt = 1;
dev761drivers/net/ni52.cni52_xmt_int(dev);
dev764drivers/net/ni52.cni52_rcv_int(dev);
dev769drivers/net/ni52.cif(dev->start)
dev770drivers/net/ni52.cprintk("%s: oops! CU has left active state. stat: %04x/%04x.\n",dev->name,(int) stat,(int) p->scb->status);
dev784drivers/net/ni52.cprintk("%s: Receiver-Unit went 'NOT READY': %04x/%04x.\n",dev->name,(int) stat,(int) p->scb->status);
dev785drivers/net/ni52.cni52_rnr_int(dev); 
dev793drivers/net/ni52.cdev->interrupt = 0;
dev800drivers/net/ni52.cstatic void ni52_rcv_int(struct device *dev)
dev806drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev821drivers/net/ni52.cskb->dev = dev;
dev824drivers/net/ni52.cskb->protocol=eth_type_trans(skb,dev);
dev833drivers/net/ni52.cprintk("%s: received oversized frame.\n",dev->name);
dev839drivers/net/ni52.cprintk("%s: oops! rfd-error-status: %04x\n",dev->name,status);
dev854drivers/net/ni52.cstatic void ni52_rnr_int(struct device *dev)
dev856drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev865drivers/net/ni52.calloc_rfa(dev,(char *)p->rfd_first);
dev866drivers/net/ni52.cstartrecv586(dev); /* restart RU */
dev868drivers/net/ni52.cprintk("%s: Receive-Unit restarted. Status: %04x\n",dev->name,p->scb->status);
dev876drivers/net/ni52.cstatic void ni52_xmt_int(struct device *dev)
dev879drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev883drivers/net/ni52.cprintk("%s: strange .. xmit-int without a 'COMPLETE'\n",dev->name);
dev894drivers/net/ni52.cprintk("%s: late collision detected.\n",dev->name);
dev899drivers/net/ni52.cprintk("%s: no carrier detected.\n",dev->name);
dev902drivers/net/ni52.cprintk("%s: loss of CTS detected.\n",dev->name);
dev905drivers/net/ni52.cprintk("%s: DMA underrun detected.\n",dev->name);
dev908drivers/net/ni52.cprintk("%s: Max. collisions exceeded.\n",dev->name);
dev918drivers/net/ni52.cdev->tbusy = 0;
dev926drivers/net/ni52.cstatic void startrecv586(struct device *dev)
dev928drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev940drivers/net/ni52.cstatic int ni52_send_packet(struct sk_buff *skb, struct device *dev)
dev946drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev948drivers/net/ni52.cif(dev->tbusy)
dev950drivers/net/ni52.cint tickssofar = jiffies - dev->trans_start;
dev956drivers/net/ni52.cdev->tbusy = 0;
dev958drivers/net/ni52.cprintk("%s: strange ... timeout with CU active?!?\n",dev->name);
dev959drivers/net/ni52.cprintk("%s: X0: %04x N0: %04x N1: %04x %d\n",dev->name,(int)p->xmit_cmds[0]->cmd_status,(int)p->nop_cmds[0]->cmd_status,(int)p->nop_cmds[1]->cmd_status,(int)p->nop_point);
dev968drivers/net/ni52.cdev->trans_start = jiffies;
dev974drivers/net/ni52.cprintk("%s: xmitter timed out, try to restart! stat: %04x\n",dev->name,p->scb->status);
dev975drivers/net/ni52.cprintk("%s: command-stats: %04x %04x\n",dev->name,p->xmit_cmds[0]->cmd_status,p->xmit_cmds[1]->cmd_status);
dev977drivers/net/ni52.cni52_close(dev);
dev978drivers/net/ni52.cni52_open(dev);
dev980drivers/net/ni52.cdev->trans_start = jiffies;
dev986drivers/net/ni52.cdev_tint(dev);
dev994drivers/net/ni52.cprintk("%s: Sorry, max. framelength is %d bytes. The length of your frame is %ld bytes.\n",dev->name,XMIT_BUFF_SIZE,skb->len);
dev998drivers/net/ni52.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev999drivers/net/ni52.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev1015drivers/net/ni52.cdev->trans_start = jiffies;
dev1024drivers/net/ni52.cprintk("%s: Can't start transmit-command.\n",dev->name);
dev1035drivers/net/ni52.cdev->trans_start = jiffies;
dev1050drivers/net/ni52.cdev->trans_start = jiffies;
dev1055drivers/net/ni52.cdev->tbusy = 0;
dev1067drivers/net/ni52.cstatic struct enet_statistics *ni52_get_stats(struct device *dev)
dev1069drivers/net/ni52.cstruct priv *p = (struct priv *) dev->priv;
dev1093drivers/net/ni52.cstatic void set_multicast_list(struct device *dev)
dev1095drivers/net/ni52.cif(!dev->start)
dev1097drivers/net/ni52.cprintk("%s: Can't apply promiscuous/multicastmode to a not running interface.\n",dev->name);
dev1101drivers/net/ni52.cdev->start = 0;
dev1102drivers/net/ni52.calloc586(dev);
dev1103drivers/net/ni52.cinit586(dev);  
dev1104drivers/net/ni52.cstartrecv586(dev);
dev1105drivers/net/ni52.cdev->start = 1;
dev79drivers/net/ni65.c#define PORT dev->base_addr
dev116drivers/net/ni65.cstatic int   ni65_probe1(struct device *dev,int);
dev118drivers/net/ni65.cstatic void recv_intr(struct device *dev);
dev119drivers/net/ni65.cstatic void xmit_intr(struct device *dev);
dev120drivers/net/ni65.cstatic int   ni65_open(struct device *dev);
dev121drivers/net/ni65.cstatic int am7990_reinit(struct device *dev);
dev122drivers/net/ni65.cstatic int   ni65_send_packet(struct sk_buff *skb, struct device *dev);
dev123drivers/net/ni65.cstatic int   ni65_close(struct device *dev);
dev126drivers/net/ni65.cstatic void set_multicast_list(struct device *dev);
dev149drivers/net/ni65.cstatic int ni65_open(struct device *dev)
dev151drivers/net/ni65.cif(am7990_reinit(dev))
dev153drivers/net/ni65.cdev->tbusy     = 0;
dev154drivers/net/ni65.cdev->interrupt = 0;
dev155drivers/net/ni65.cdev->start     = 1;
dev160drivers/net/ni65.cdev->start = 0;
dev165drivers/net/ni65.cstatic int ni65_close(struct device *dev)
dev168drivers/net/ni65.cdev->tbusy = 1;
dev169drivers/net/ni65.cdev->start = 0;
dev178drivers/net/ni65.cint ni65_probe(struct device *dev)
dev181drivers/net/ni65.cint base_addr = dev->base_addr;
dev184drivers/net/ni65.creturn ni65_probe1(dev, base_addr);
dev196drivers/net/ni65.cdev->base_addr = ioaddr;
dev197drivers/net/ni65.cif (ni65_probe1(dev, ioaddr) == 0)
dev201drivers/net/ni65.cdev->base_addr = base_addr;
dev206drivers/net/ni65.cstatic int ni65_probe1(struct device *dev,int ioaddr)
dev213drivers/net/ni65.cstation_addr[i] = dev->dev_addr[i] = inb(PORT+L_EBASE+i);
dev217drivers/net/ni65.cprintk("%s: wrong Hardaddress \n",dev->name);
dev221drivers/net/ni65.cif(dev->irq == 0) 
dev222drivers/net/ni65.cdev->irq = irqtab[(inw(PORT+L_CONFIG)>>2)&3];
dev223drivers/net/ni65.cif(dev->dma == 0)  
dev224drivers/net/ni65.cdev->dma = dmatab[inw(PORT+L_CONFIG)&3];
dev226drivers/net/ni65.cprintk("%s: %s found at %#3lx, IRQ %d DMA %d.\n", dev->name,
dev227drivers/net/ni65.c"network card", dev->base_addr, dev->irq,dev->dma);
dev230drivers/net/ni65.cint irqval = request_irq(dev->irq, &ni65_interrupt,0,"ni65");
dev233drivers/net/ni65.cdev->name,dev->irq, irqval);
dev236drivers/net/ni65.cif(request_dma(dev->dma, "ni65") != 0)
dev238drivers/net/ni65.cprintk("%s: Can't request dma-channel %d\n",dev->name,(int) dev->dma);
dev239drivers/net/ni65.cfree_irq(dev->irq);
dev243drivers/net/ni65.cirq2dev_map[dev->irq] = dev;
dev248drivers/net/ni65.cp = dev->priv = (void *) kmalloc(sizeof(struct priv),GFP_KERNEL);
dev251drivers/net/ni65.cmemset((char *) dev->priv,0,sizeof(struct priv));
dev253drivers/net/ni65.cdev->open               = ni65_open;
dev254drivers/net/ni65.cdev->stop               = ni65_close;
dev255drivers/net/ni65.cdev->hard_start_xmit    = ni65_send_packet;
dev256drivers/net/ni65.cdev->get_stats          = ni65_get_stats;
dev257drivers/net/ni65.cdev->set_multicast_list = set_multicast_list;
dev259drivers/net/ni65.cether_setup(dev);
dev261drivers/net/ni65.cdev->flags        &= ~IFF_MULTICAST;
dev262drivers/net/ni65.cdev->interrupt      = 0;
dev263drivers/net/ni65.cdev->tbusy          = 0;
dev264drivers/net/ni65.cdev->start          = 0;
dev267drivers/net/ni65.cprintk("%s: Can't alloc TMD/RMD-buffer.\n",dev->name);
dev271drivers/net/ni65.cprintk("%s: Can't alloc TMD/RMD buffer in lower 16MB!\n",dev->name);
dev281drivers/net/ni65.cprintk("%s: Can't alloc Xmit-Mem.\n",dev->name);
dev285drivers/net/ni65.cprintk("%s: Can't alloc Xmit-Mem in lower 16MB!\n",dev->name);
dev294drivers/net/ni65.cprintk("%s: unable to alloc recv-mem\n",dev->name);
dev298drivers/net/ni65.cprintk("%s: unable to alloc receive-memory in lower 16MB!\n",dev->name);
dev310drivers/net/ni65.cstatic int am7990_reinit(struct device *dev)
dev315drivers/net/ni65.cstruct priv *p = (struct priv *) dev->priv;
dev320drivers/net/ni65.cdisable_dma(dev->dma); /* I've never worked with dma, but we do it like the packetdriver */
dev321drivers/net/ni65.cset_dma_mode(dev->dma,DMA_MODE_CASCADE);
dev322drivers/net/ni65.cenable_dma(dev->dma); 
dev327drivers/net/ni65.cprintk("%s: can't RESET ni6510 card: %04x\n",dev->name,(int) inw(PORT+L_DATAREG));
dev328drivers/net/ni65.cdisable_dma(dev->dma);
dev329drivers/net/ni65.cfree_dma(dev->dma);
dev330drivers/net/ni65.cfree_irq(dev->irq);
dev360drivers/net/ni65.cp->ib.eaddr[i] = dev->dev_addr[i];
dev387drivers/net/ni65.cprintk("%s: can't init am7990, status: %04x\n",dev->name,(int) inw(PORT+L_DATAREG));
dev388drivers/net/ni65.cdisable_dma(dev->dma);
dev389drivers/net/ni65.cfree_dma(dev->dma);
dev390drivers/net/ni65.cfree_irq(dev->irq);
dev406drivers/net/ni65.cstruct device *dev = (struct device *) irq2dev_map[irq];
dev408drivers/net/ni65.cif (dev == NULL) {
dev416drivers/net/ni65.cdev->interrupt = 1;
dev420drivers/net/ni65.cstruct priv *p = (struct priv *) dev->priv;
dev430drivers/net/ni65.crecv_intr(dev);
dev434drivers/net/ni65.cxmit_intr(dev);
dev438drivers/net/ni65.cdev->interrupt = 0;
dev448drivers/net/ni65.cstatic void xmit_intr(struct device *dev)
dev452drivers/net/ni65.cstruct priv *p = (struct priv *) dev->priv;
dev471drivers/net/ni65.cprintk("%s: xmit-error: %04x %04x\n",dev->name,(int) tmdstat,(int) tmdp->status2);
dev473drivers/net/ni65.cprintk("%s: tdr-problems (e.g. no resistor)\n",dev->name);
dev491drivers/net/ni65.cdev->tbusy = 0;
dev499drivers/net/ni65.cstatic void recv_intr(struct device *dev)
dev504drivers/net/ni65.cstruct priv *p = (struct priv *) dev->priv;
dev515drivers/net/ni65.cprintk("%s: packet too long\n",dev->name);
dev521drivers/net/ni65.cprintk("%s: receive-error: %04x\n",dev->name,(int) rmdstat );
dev527drivers/net/ni65.cprintk("%s: lance-status: %04x\n",dev->name,(int) inw(PORT+L_DATAREG));
dev546drivers/net/ni65.cskb1->dev = dev;
dev548drivers/net/ni65.cskb1->protocol=eth_type_trans(skb1,dev);
dev554drivers/net/ni65.cprintk("%s: can't alloc new sk_buff\n",dev->name);
dev567drivers/net/ni65.cstatic int ni65_send_packet(struct sk_buff *skb, struct device *dev)
dev569drivers/net/ni65.cstruct priv *p = (struct priv *) dev->priv;
dev572drivers/net/ni65.cif(dev->tbusy)
dev574drivers/net/ni65.cint tickssofar = jiffies - dev->trans_start;
dev578drivers/net/ni65.cprintk("%s: xmitter timed out, try to restart!\n",dev->name);
dev579drivers/net/ni65.cam7990_reinit(dev);
dev580drivers/net/ni65.cdev->tbusy=0;
dev581drivers/net/ni65.cdev->trans_start = jiffies;
dev586drivers/net/ni65.cdev_tint(dev);
dev593drivers/net/ni65.cif (set_bit(0, (void*)&dev->tbusy) != 0)
dev595drivers/net/ni65.cprintk("%s: Transmitter access conflict.\n", dev->name);
dev600drivers/net/ni65.cprintk("%s: Queue was locked!\n",dev->name);
dev625drivers/net/ni65.cdev->tbusy = 0;
dev629drivers/net/ni65.cdev->trans_start = jiffies;
dev636drivers/net/ni65.cstatic struct enet_statistics *ni65_get_stats(struct device *dev)
dev638drivers/net/ni65.creturn &((struct priv *) dev->priv)->stats;
dev641drivers/net/ni65.cstatic void set_multicast_list(struct device *dev)
dev138drivers/net/pi2.cstatic int pi0_preprobe(struct device *dev){return 0;}  /* Dummy probe function */
dev149drivers/net/pi2.cstatic int pi_probe(struct device *dev, int card_type);
dev150drivers/net/pi2.cstatic int pi_open(struct device *dev);
dev151drivers/net/pi2.cstatic int pi_send_packet(struct sk_buff *skb, struct device *dev);
dev153drivers/net/pi2.cstatic int pi_close(struct device *dev);
dev154drivers/net/pi2.cstatic int pi_ioctl(struct device *dev, struct ifreq *ifr, int cmd);
dev155drivers/net/pi2.cstatic struct enet_statistics *pi_get_stats(struct device *dev);
dev157drivers/net/pi2.cstatic void b_rxint(struct device *dev, struct pi_local *lp);
dev160drivers/net/pi2.cstatic void a_rxint(struct device *dev, struct pi_local *lp);
dev504drivers/net/pi2.cstatic void a_rxint(struct device *dev, struct pi_local *lp)
dev556drivers/net/pi2.cprintk("PI: %s: Memory squeeze, dropping packet.\n", dev->name);
dev561drivers/net/pi2.cskb->dev = dev;
dev580drivers/net/pi2.cstatic void b_rxint(struct device *dev, struct pi_local *lp)
dev645drivers/net/pi2.cprintk("PI: %s: Memory squeeze, dropping packet.\n", dev->name);
dev650drivers/net/pi2.cskb->dev = dev;
dev1077drivers/net/pi2.cstatic int pi_header(struct sk_buff *skb, struct device *dev, unsigned short type,
dev1080drivers/net/pi2.creturn ax25_encapsulate(skb, dev, type, daddr, saddr, len);
dev1084drivers/net/pi2.cstatic int pi_rebuild_header(void *buff, struct device *dev, unsigned long raddr,
dev1087drivers/net/pi2.creturn ax25_rebuild_header(buff, dev, raddr, skb);
dev1090drivers/net/pi2.cstatic void scc_init(struct device *dev)
dev1093drivers/net/pi2.cstruct pi_local *lp = (struct pi_local *) dev->priv;
dev1192drivers/net/pi2.cstatic void chipset_init(struct device *dev)
dev1197drivers/net/pi2.ccardbase = dev->base_addr & 0x3f0;
dev1201drivers/net/pi2.cwrtscc(cardbase, dev->base_addr + CTL, R9, FHWRES);  /* Hardware reset */
dev1203drivers/net/pi2.cwrtscc(cardbase, dev->base_addr + CTL, R9, 0);
dev1278drivers/net/pi2.cstatic int pi_set_mac_address(struct device *dev, struct sockaddr *sa)
dev1280drivers/net/pi2.cmemcpy(dev->dev_addr, sa->sa_data, dev->addr_len);  /* addr is an AX.25 shifted ASCII */
dev1300drivers/net/pi2.cstatic int pi_probe(struct device *dev, int card_type)
dev1308drivers/net/pi2.cioaddr = dev->base_addr;
dev1313drivers/net/pi2.cdev->priv = (void *) (((int) dev->priv + 7) & ~7);
dev1314drivers/net/pi2.clp = (struct pi_local *) dev->priv;
dev1316drivers/net/pi2.cmemset(dev->priv, 0, sizeof(struct pi_local));
dev1319drivers/net/pi2.cmem_ptr = (unsigned long) dev->priv + sizeof(struct pi_local);
dev1337drivers/net/pi2.clp->base = dev->base_addr;
dev1338drivers/net/pi2.clp->cardbase = dev->base_addr & 0x3f0;
dev1339drivers/net/pi2.cif (dev->base_addr & CHANA) {
dev1360drivers/net/pi2.cchipset_init(dev);
dev1362drivers/net/pi2.cif (dev->base_addr & CHANA) {  /* Do these things only for the A port */
dev1365drivers/net/pi2.clp->dmachan = dev->dma;
dev1371drivers/net/pi2.cif (dev->irq < 2) {
dev1382drivers/net/pi2.cdev->irq = autoirq_report(20);
dev1383drivers/net/pi2.cif (!dev->irq) {
dev1388drivers/net/pi2.cwrtscc(lp->cardbase, dev->base_addr + CTL, R9, FHWRES);  /* Hardware reset */
dev1390drivers/net/pi2.cwrtscc(lp->cardbase, dev->base_addr + CTL, R9, 0);
dev1395drivers/net/pi2.cdev->irq, dev->dma);
dev1401drivers/net/pi2.cint irqval = request_irq(dev->irq, &pi_interrupt,0, "pi2");
dev1404drivers/net/pi2.cdev->irq, irqval);
dev1414drivers/net/pi2.cdev->open = pi_open;
dev1415drivers/net/pi2.cdev->stop = pi_close;
dev1416drivers/net/pi2.cdev->do_ioctl = pi_ioctl;
dev1417drivers/net/pi2.cdev->hard_start_xmit = pi_send_packet;
dev1418drivers/net/pi2.cdev->get_stats = pi_get_stats;
dev1422drivers/net/pi2.cskb_queue_head_init(&dev->buffs[i]);
dev1425drivers/net/pi2.cdev->hard_header = pi_header;
dev1426drivers/net/pi2.cdev->rebuild_header = pi_rebuild_header;
dev1427drivers/net/pi2.cdev->set_mac_address = pi_set_mac_address;
dev1429drivers/net/pi2.cdev->type = ARPHRD_AX25;      /* AF_AX25 device */
dev1430drivers/net/pi2.cdev->hard_header_len = 73;      /* We do digipeaters now */
dev1431drivers/net/pi2.cdev->mtu = 1500;        /* eth_mtu is the default */
dev1432drivers/net/pi2.cdev->addr_len = 7;        /* sizeof an ax.25 address */
dev1433drivers/net/pi2.cmemcpy(dev->broadcast, ax25_bcast, 7);
dev1434drivers/net/pi2.cmemcpy(dev->dev_addr, ax25_test, 7);
dev1437drivers/net/pi2.cdev->flags = 0;
dev1438drivers/net/pi2.cdev->family = AF_INET;
dev1439drivers/net/pi2.cdev->pa_addr = 0;
dev1440drivers/net/pi2.cdev->pa_brdaddr = 0;
dev1441drivers/net/pi2.cdev->pa_mask = 0;
dev1442drivers/net/pi2.cdev->pa_alen = 4;
dev1454drivers/net/pi2.cstatic int pi_open(struct device *dev)
dev1459drivers/net/pi2.cstruct pi_local *lp = (struct pi_local *) dev->priv;
dev1461drivers/net/pi2.cif (dev->base_addr & 2) {  /* if A channel */
dev1463drivers/net/pi2.cif (request_dma(dev->dma,"pi2")) {
dev1464drivers/net/pi2.cfree_irq(dev->irq);
dev1467drivers/net/pi2.cirq2dev_map[dev->irq] = dev;
dev1470drivers/net/pi2.cchipset_init(dev);
dev1474drivers/net/pi2.cif (dev->base_addr & 2) {  /* if A channel */
dev1475drivers/net/pi2.cscc_init(dev);    /* Called once for each channel */
dev1476drivers/net/pi2.cscc_init(dev->next);
dev1486drivers/net/pi2.cdev->tbusy = 0;
dev1487drivers/net/pi2.cdev->interrupt = 0;
dev1488drivers/net/pi2.cdev->start = 1;
dev1493drivers/net/pi2.cstatic int pi_send_packet(struct sk_buff *skb, struct device *dev)
dev1495drivers/net/pi2.cstruct pi_local *lp = (struct pi_local *) dev->priv;
dev1501drivers/net/pi2.cdev_tint(dev);
dev1505drivers/net/pi2.cdev->trans_start = jiffies;
dev1567drivers/net/pi2.cstatic int pi_close(struct device *dev)
dev1576drivers/net/pi2.clp = (struct pi_local *) dev->priv;
dev1579drivers/net/pi2.cchipset_init(dev);    /* reset the scc */
dev1584drivers/net/pi2.cdev->tbusy = 1;
dev1585drivers/net/pi2.cdev->start = 0;
dev1595drivers/net/pi2.cstatic int pi_ioctl(struct device *dev, struct ifreq *ifr, int cmd)
dev1599drivers/net/pi2.cstruct pi_local *lp = (struct pi_local *) dev->priv;
dev1633drivers/net/pi2.cif (dev->base_addr & 2) {   /* if A channel */
dev1638drivers/net/pi2.cpi_close(dev);
dev1640drivers/net/pi2.cdev->dma = lp->dmachan = rq.dmachan;
dev1643drivers/net/pi2.cpi_open(dev);
dev1663drivers/net/pi2.crq.irq = dev->irq;
dev1677drivers/net/pi2.cpi_get_stats(struct device *dev)
dev1679drivers/net/pi2.cstruct pi_local *lp = (struct pi_local *) dev->priv;
dev118drivers/net/pi2.hint dev;            /* Device number */
dev133drivers/net/plip.c#define PAR_DATA(dev)    ((dev)->base_addr+0)
dev134drivers/net/plip.c#define PAR_STATUS(dev)    ((dev)->base_addr+1)
dev135drivers/net/plip.c#define PAR_CONTROL(dev)  ((dev)->base_addr+2)
dev138drivers/net/plip.cstatic void plip_kick_bh(struct device *dev);
dev139drivers/net/plip.cstatic void plip_bh(struct device *dev);
dev145drivers/net/plip.cstatic int plip_rebuild_header(void *buff, struct device *dev,
dev147drivers/net/plip.cstatic int plip_tx_packet(struct sk_buff *skb, struct device *dev);
dev148drivers/net/plip.cstatic int plip_open(struct device *dev);
dev149drivers/net/plip.cstatic int plip_close(struct device *dev);
dev150drivers/net/plip.cstatic struct enet_statistics *plip_get_stats(struct device *dev);
dev151drivers/net/plip.cstatic int plip_config(struct device *dev, struct ifmap *map);
dev152drivers/net/plip.cstatic int plip_ioctl(struct device *dev, struct ifreq *ifr, int cmd);
dev211drivers/net/plip.cint (*orig_rebuild_header)(void *eth, struct device *dev,
dev218drivers/net/plip.cplip_init(struct device *dev)
dev221drivers/net/plip.cint iosize = (PAR_DATA(dev) == 0x3bc) ? 3 : 8;
dev224drivers/net/plip.cif (check_region(PAR_DATA(dev), iosize) < 0)
dev228drivers/net/plip.coutb(0, PAR_DATA(dev));
dev230drivers/net/plip.cif (inb(PAR_DATA(dev)) != 0)
dev234drivers/net/plip.cprintk("%s: Parallel port at %#3lx, ", dev->name, dev->base_addr);
dev235drivers/net/plip.cif (dev->irq) {
dev236drivers/net/plip.cprintk("using assigned IRQ %d.\n", dev->irq);
dev245drivers/net/plip.coutb(0x00, PAR_CONTROL(dev));
dev247drivers/net/plip.coutb(PAR_INTR_OFF, PAR_CONTROL(dev));
dev248drivers/net/plip.coutb(PAR_INTR_ON, PAR_CONTROL(dev));
dev249drivers/net/plip.coutb(PAR_INTR_OFF, PAR_CONTROL(dev));
dev254drivers/net/plip.cdev->irq = irq;
dev255drivers/net/plip.cprintk("using probed IRQ %d.\n", dev->irq);
dev261drivers/net/plip.crequest_region(PAR_DATA(dev), iosize, dev->name);
dev264drivers/net/plip.cether_setup(dev);
dev267drivers/net/plip.cdev->hard_start_xmit  = plip_tx_packet;
dev268drivers/net/plip.cdev->open    = plip_open;
dev269drivers/net/plip.cdev->stop    = plip_close;
dev270drivers/net/plip.cdev->get_stats     = plip_get_stats;
dev271drivers/net/plip.cdev->set_config    = plip_config;
dev272drivers/net/plip.cdev->do_ioctl    = plip_ioctl;
dev273drivers/net/plip.cdev->flags          = IFF_POINTOPOINT|IFF_NOARP;
dev276drivers/net/plip.cdev->priv = kmalloc(sizeof (struct net_local), GFP_KERNEL);
dev277drivers/net/plip.cif (dev->priv == NULL) {
dev278drivers/net/plip.cprintk(KERN_ERR "%s: out of memory\n", dev->name);
dev279drivers/net/plip.crelease_region(PAR_DATA(dev), iosize);
dev282drivers/net/plip.cmemset(dev->priv, 0, sizeof(struct net_local));
dev283drivers/net/plip.cnl = (struct net_local *) dev->priv;
dev285drivers/net/plip.cnl->orig_rebuild_header = dev->rebuild_header;
dev286drivers/net/plip.cdev->rebuild_header   = plip_rebuild_header;
dev296drivers/net/plip.cnl->immediate.data = dev;
dev301drivers/net/plip.cnl->deferred.data = dev;
dev310drivers/net/plip.cplip_kick_bh(struct device *dev)
dev312drivers/net/plip.cstruct net_local *nl = (struct net_local *)dev->priv;
dev331drivers/net/plip.cstatic int plip_bh_timeout_error(struct device *dev, struct net_local *nl,
dev340drivers/net/plip.ctypedef int (*plip_func)(struct device *dev, struct net_local *nl,
dev354drivers/net/plip.cplip_bh(struct device *dev)
dev356drivers/net/plip.cstruct net_local *nl = (struct net_local *)dev->priv;
dev364drivers/net/plip.cif ((r = (*f)(dev, nl, snd, rcv)) != OK
dev365drivers/net/plip.c&& (r = plip_bh_timeout_error(dev, nl, snd, rcv, r)) != OK) {
dev372drivers/net/plip.cplip_bh_timeout_error(struct device *dev, struct net_local *nl,
dev390drivers/net/plip.cc0 = inb(PAR_STATUS(dev));
dev392drivers/net/plip.cdev->name, snd->state, c0);
dev408drivers/net/plip.cc0 = inb(PAR_STATUS(dev));
dev410drivers/net/plip.cdev->name, rcv->state, c0);
dev425drivers/net/plip.cdisable_irq(dev->irq);
dev426drivers/net/plip.coutb(PAR_INTR_OFF, PAR_CONTROL(dev));
dev427drivers/net/plip.cdev->tbusy = 1;
dev429drivers/net/plip.coutb(0x00, PAR_DATA(dev));
dev436drivers/net/plip.cplip_none(struct device *dev, struct net_local *nl,
dev495drivers/net/plip.cplip_receive_packet(struct device *dev, struct net_local *nl,
dev498drivers/net/plip.cunsigned short status_addr = PAR_STATUS(dev);
dev504drivers/net/plip.cdisable_irq(dev->irq);
dev505drivers/net/plip.coutb(PAR_INTR_OFF, PAR_CONTROL(dev));
dev506drivers/net/plip.cdev->interrupt = 0;
dev507drivers/net/plip.coutb(0x01, PAR_DATA(dev)); /* send ACK */
dev509drivers/net/plip.cprintk("%s: receive start\n", dev->name);
dev522drivers/net/plip.coutb(PAR_INTR_ON, PAR_CONTROL(dev));
dev523drivers/net/plip.cenable_irq(dev->irq);
dev537drivers/net/plip.cif (rcv->length.h > dev->mtu + dev->hard_header_len
dev539drivers/net/plip.cprintk("%s: bogus packet size %d.\n", dev->name, rcv->length.h);
dev545drivers/net/plip.cprintk("%s: Memory squeeze.\n", dev->name);
dev549drivers/net/plip.crcv->skb->dev = dev;
dev573drivers/net/plip.cprintk("%s: checksum error\n", dev->name);
dev580drivers/net/plip.crcv->skb->protocol=eth_type_trans(rcv->skb, dev);
dev585drivers/net/plip.cprintk("%s: receive end\n", dev->name);
dev588drivers/net/plip.coutb (0x00, PAR_DATA(dev));
dev594drivers/net/plip.coutb(PAR_INTR_ON, PAR_CONTROL(dev));
dev595drivers/net/plip.cenable_irq(dev->irq);
dev600drivers/net/plip.coutb(PAR_INTR_ON, PAR_CONTROL(dev));
dev601drivers/net/plip.cenable_irq(dev->irq);
dev658drivers/net/plip.cplip_send_packet(struct device *dev, struct net_local *nl,
dev661drivers/net/plip.cunsigned short data_addr = PAR_DATA(dev);
dev668drivers/net/plip.cprintk("%s: send skb lost\n", dev->name);
dev676drivers/net/plip.cif ((inb(PAR_STATUS(dev)) & 0xf8) != 0x80)
dev690drivers/net/plip.cprintk("%s: collision.\n", dev->name);
dev693drivers/net/plip.cc0 = inb(PAR_STATUS(dev));
dev695drivers/net/plip.cdisable_irq(dev->irq);
dev696drivers/net/plip.coutb(PAR_INTR_OFF, PAR_CONTROL(dev));
dev698drivers/net/plip.cprintk("%s: send start\n", dev->name);
dev751drivers/net/plip.cprintk("%s: send end\n", dev->name);
dev755drivers/net/plip.coutb(PAR_INTR_ON, PAR_CONTROL(dev));
dev756drivers/net/plip.cenable_irq(dev->irq);
dev763drivers/net/plip.cplip_connection_close(struct device *dev, struct net_local *nl,
dev769drivers/net/plip.cdev->tbusy = 0;
dev778drivers/net/plip.cplip_error(struct device *dev, struct net_local *nl,
dev783drivers/net/plip.cstatus = inb(PAR_STATUS(dev));
dev786drivers/net/plip.cprintk("%s: reset interface.\n", dev->name);
dev788drivers/net/plip.cdev->tbusy = 0;
dev789drivers/net/plip.cdev->interrupt = 0;
dev790drivers/net/plip.coutb(PAR_INTR_ON, PAR_CONTROL(dev));
dev791drivers/net/plip.cenable_irq(dev->irq);
dev805drivers/net/plip.cstruct device *dev = (struct device *) irq2dev_map[irq];
dev806drivers/net/plip.cstruct net_local *nl = (struct net_local *)dev->pr