xref: /386bsd/usr/src/kernel/include/dev/isa_driver.h (revision a2142627)
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