summaryrefslogtreecommitdiffstats
path: root/sys/dev/ep
diff options
context:
space:
mode:
authorgibbs <gibbs@FreeBSD.org>1997-09-21 21:35:24 +0000
committergibbs <gibbs@FreeBSD.org>1997-09-21 21:35:24 +0000
commit51fbeeacb49c374db82570f339949c62d1198558 (patch)
tree8338fb3c4dad4e9a1bde40a5249f7a7f410d64ba /sys/dev/ep
parent00881143430fb92b08e80ea8c74e6b8f07b840a4 (diff)
downloadFreeBSD-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.c12
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
OpenPOWER on IntegriCloud