1 /*- 2 * ISA Bus Driver specification. 3 * 4 * Copyright (C) 1989-1994, William F. Jolitz. All Rights Reserved. 5 */ 6 7 /* 8 * Per-device structure. 9 */ 10 struct isa_device { 11 struct isa_driver *id_driver; 12 short id_iobase; /* base i/o address */ 13 short id_irq; /* interrupt request */ 14 short id_drq; /* DMA request */ 15 caddr_t id_maddr; /* physical i/o memory address on bus (if any)*/ 16 int id_msize; /* size of i/o memory */ 17 int id_unit; /* unit number */ 18 int id_alive; /* device is present */ 19 int id_flags; /* private device configuration flags */ 20 }; 21 22 /* 23 * Per-driver structure. 24 * 25 * Each device driver defines entries for a set of routines 26 * as well as an array of types which are acceptable to it. 27 * These are used at boot time by the configuration service. 28 */ 29 struct isa_driver { 30 /* test whether device is present */ 31 int (*probe)(struct isa_device *); 32 /* setup driver for a device */ 33 void (*attach)(struct isa_device *); 34 void (*intr)(int); /* driver interrupt */ 35 char *name; /* driver name */ 36 int *mask; /* spl group (if not zero) */ 37 }; 38