xref: /csrg-svn/sys/i386/isa/isa_device.h (revision 63364)
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