diff options
author | gibbs <gibbs@FreeBSD.org> | 1997-09-21 21:35:24 +0000 |
---|---|---|
committer | gibbs <gibbs@FreeBSD.org> | 1997-09-21 21:35:24 +0000 |
commit | 51fbeeacb49c374db82570f339949c62d1198558 (patch) | |
tree | 8338fb3c4dad4e9a1bde40a5249f7a7f410d64ba /sys/dev/eisa/eisaconf.h | |
parent | 00881143430fb92b08e80ea8c74e6b8f07b840a4 (diff) | |
download | FreeBSD-src-51fbeeacb49c374db82570f339949c62d1198558.zip FreeBSD-src-51fbeeacb49c374db82570f339949c62d1198558.tar.gz |
Add shared EISA interrupt support.
Clean up the match routines so that they return const char *
Diffstat (limited to 'sys/dev/eisa/eisaconf.h')
-rw-r--r-- | sys/dev/eisa/eisaconf.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/sys/dev/eisa/eisaconf.h b/sys/dev/eisa/eisaconf.h index 38cfa94..2b2ff2d 100644 --- a/sys/dev/eisa/eisaconf.h +++ b/sys/dev/eisa/eisaconf.h @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: eisaconf.h,v 1.15 1997/03/12 17:41:24 joerg Exp $ + * $Id: eisaconf.h,v 1.16 1997/03/13 18:04:05 joerg Exp $ */ #ifndef _I386_EISA_EISACONF_H_ @@ -64,11 +64,19 @@ typedef struct resvaddr { LIST_HEAD(resvlist, resvaddr); +struct irq_node { + int irq_no; + void *idesc; + TAILQ_ENTRY(irq_node) links; +}; + +TAILQ_HEAD(irqlist, irq_node); + struct eisa_ioconf { int slot; struct resvlist ioaddrs; /* list of reserved I/O ranges */ struct resvlist maddrs; /* list of reserved memory ranges */ - u_short irq; /* bitmask of interrupt */ + struct irqlist irqs; /* list of reserved irqs */ }; struct eisa_device; @@ -90,18 +98,20 @@ struct eisa_driver { struct eisa_device { eisa_id_t id; u_long unit; - char* full_name; /* for use in the probe message */ + const char* full_name; /* for use in the probe message */ struct eisa_ioconf ioconf; struct eisa_driver* driver; }; void eisa_configure __P((void)); -struct eisa_device *eisa_match_dev __P((struct eisa_device *, char * (*)(eisa_id_t))); +struct eisa_device *eisa_match_dev __P((struct eisa_device *, + const char * (*)(eisa_id_t))); void eisa_reg_start __P((struct eisa_device *)); void eisa_reg_end __P((struct eisa_device *)); int eisa_add_intr __P((struct eisa_device *, int)); -int eisa_reg_intr __P((struct eisa_device *, int, void (*)(void *), void *, u_int *, int)); +int eisa_reg_intr __P((struct eisa_device *, int, void (*)(void *), + void *, u_int *, int)); int eisa_release_intr __P((struct eisa_device *, int, void (*)(void *))); int eisa_enable_intr __P((struct eisa_device *, int)); int eisa_add_iospace __P((struct eisa_device *, u_long, u_long, int)); |