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/ep | |
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/ep')
-rw-r--r-- | sys/dev/ep/if_ep_eisa.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/dev/ep/if_ep_eisa.c b/sys/dev/ep/if_ep_eisa.c index ded4538..35b9ca0 100644 --- a/sys/dev/ep/if_ep_eisa.c +++ b/sys/dev/ep/if_ep_eisa.c @@ -19,7 +19,7 @@ * 4. Modifications may be freely made to this file if the above conditions * are met. * - * $Id$ + * $Id: 3c5x9.c,v 1.9 1997/02/22 09:31:52 peter Exp $ */ #include "eisa.h" @@ -79,9 +79,9 @@ static struct eisa_driver ep_eisa_driver = { DATA_SET (eisadriver_set, ep_eisa_driver); -static char *ep_match __P((eisa_id_t type)); +static const char *ep_match __P((eisa_id_t type)); -static char* +static const char* ep_match(type) eisa_id_t type; { @@ -182,12 +182,16 @@ ep_eisa_attach(e_dev) struct ep_softc *sc; struct ep_board *epb; int unit = e_dev->unit; - int irq = ffs(e_dev->ioconf.irq) - 1; + int irq; resvaddr_t *ioport; resvaddr_t *eisa_ioport; u_char level_intr; int i; + if (TAILQ_FIRST(&e_dev->ioconf.irqs) == NULL) + return -1; + + irq = TAILQ_FIRST(&e_dev->ioconf.irqs)->irq_no; /* * The addresses are sorted in increasing order * so we know the port to pass to the core ep |