149617Sbostic /*- 2*63364Sbostic * Copyright (c) 1991, 1993 3*63364Sbostic * The Regents of the University of California. All rights reserved. 449617Sbostic * 549617Sbostic * %sccs.include.redist.c% 649617Sbostic * 7*63364Sbostic * @(#)isa_device.h 8.1 (Berkeley) 06/11/93 849617Sbostic */ 949617Sbostic 1045536Sbill /* 1145536Sbill * ISA Bus Autoconfiguration 1245536Sbill */ 1345536Sbill 1445536Sbill /* 1545536Sbill * Per device structure. 1645536Sbill */ 1745536Sbill struct isa_device { 1845536Sbill struct isa_driver *id_driver; 1945536Sbill short id_iobase; /* base i/o address */ 2045536Sbill short id_irq; /* interrupt request */ 2145536Sbill short id_drq; /* DMA request */ 2245536Sbill caddr_t id_maddr; /* physical i/o memory address on bus (if any)*/ 2345536Sbill int id_msize; /* size of i/o memory */ 2445536Sbill int (*id_intr)(); /* interrupt interface routine */ 2545536Sbill int id_unit; /* unit number */ 2645536Sbill int id_scsiid; /* scsi id if needed */ 2745536Sbill int id_alive; /* device is present */ 2845536Sbill }; 2945536Sbill 3045536Sbill /* 3145536Sbill * Per-driver structure. 3245536Sbill * 3345536Sbill * Each device driver defines entries for a set of routines 3445536Sbill * as well as an array of types which are acceptable to it. 3545536Sbill * These are used at boot time by the configuration program. 3645536Sbill */ 3745536Sbill struct isa_driver { 3845536Sbill int (*probe)(); /* test whether device is present */ 3945536Sbill int (*attach)(); /* setup driver for a device */ 4045536Sbill char *name; /* device name */ 4145536Sbill }; 4245536Sbill 4345536Sbill extern struct isa_device isa_devtab_bio[], isa_devtab_tty[], isa_devtab_net[], 4445536Sbill isa_devtab_null[]; 45