1 /*- 2 * Copyright (c) 1991 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 * 7 * @(#)isa_device.h 7.1 (Berkeley) 05/09/91 8 */ 9 10 /* 11 * ISA Bus Autoconfiguration 12 */ 13 14 /* 15 * Per device structure. 16 */ 17 struct isa_device { 18 struct isa_driver *id_driver; 19 short id_iobase; /* base i/o address */ 20 short id_irq; /* interrupt request */ 21 short id_drq; /* DMA request */ 22 caddr_t id_maddr; /* physical i/o memory address on bus (if any)*/ 23 int id_msize; /* size of i/o memory */ 24 int (*id_intr)(); /* interrupt interface routine */ 25 int id_unit; /* unit number */ 26 int id_scsiid; /* scsi id if needed */ 27 int id_alive; /* device is present */ 28 }; 29 30 /* 31 * Per-driver structure. 32 * 33 * Each device driver defines entries for a set of routines 34 * as well as an array of types which are acceptable to it. 35 * These are used at boot time by the configuration program. 36 */ 37 struct isa_driver { 38 int (*probe)(); /* test whether device is present */ 39 int (*attach)(); /* setup driver for a device */ 40 char *name; /* device name */ 41 }; 42 43 extern struct isa_device isa_devtab_bio[], isa_devtab_tty[], isa_devtab_net[], 44 isa_devtab_null[]; 45