summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/isa.c
diff options
context:
space:
mode:
authorjmg <jmg@FreeBSD.org>1997-09-19 15:20:25 +0000
committerjmg <jmg@FreeBSD.org>1997-09-19 15:20:25 +0000
commit6d02356368490b36d701bc5fb7890e9067455af6 (patch)
treec77448d1e5d64b378a6a357ea83bd3d091c10da2 /sys/i386/isa/isa.c
parentd3d13402b907e7b1ab063873cf2b80a7fcdb71ba (diff)
downloadFreeBSD-src-6d02356368490b36d701bc5fb7890e9067455af6.zip
FreeBSD-src-6d02356368490b36d701bc5fb7890e9067455af6.tar.gz
teach pnp to keep isa_device structs around, and teach isa.c how to scan
these structs for conflics... it still exist that two PnP cards can colide, but this is up to the user to make sure it doesn't happen... other modifications to pnp.c to format output properly, and hide more output behind bootverbose flag... fix some bugons in pnp.h that would of made it difficult for inclusion in external programs (for import of pnpinfo)
Diffstat (limited to 'sys/i386/isa/isa.c')
-rw-r--r--sys/i386/isa/isa.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/sys/i386/isa/isa.c b/sys/i386/isa/isa.c
index abdcfa3..c5a9ea4 100644
--- a/sys/i386/isa/isa.c
+++ b/sys/i386/isa/isa.c
@@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* from: @(#)isa.c 7.2 (Berkeley) 5/13/91
- * $Id: isa.c,v 1.102 1997/08/25 22:52:59 bde Exp $
+ * $Id: isa.c,v 1.103 1997/08/28 03:36:40 msmith Exp $
*/
/*
@@ -66,6 +66,11 @@
#include <sys/interrupt.h>
+#include "pnp.h"
+#if NPNP > 0
+#include <i386/isa/pnp.h>
+#endif
+
/*
** Register definitions for DMA controller 1 (channels 0..3):
*/
@@ -293,6 +298,9 @@ haveseen_isadev(dvp, checkbits)
struct isa_device *dvp;
u_int checkbits;
{
+#if NPNP > 0
+ struct pnp_dlist_node *nod;
+#endif
struct isa_device *tmpdvp;
int status = 0;
@@ -316,6 +324,11 @@ haveseen_isadev(dvp, checkbits)
if (status)
return status;
}
+#if NPNP > 0
+ for (nod = pnp_device_list; nod != NULL; nod = nod->next)
+ if (status |= haveseen(dvp, &(nod->dev), checkbits))
+ return status;
+#endif
#ifdef RESOURCE_CHECK
if (!dvp->id_conflicts) {
status = check_pciconflict(dvp, checkbits);
@@ -551,8 +564,7 @@ config_isadev_c(isdp, mp, reconfig)
printf(" at 0x%x", isdp->id_iobase);
printf("\n");
}
- }
- else {
+ } else {
#if 0
/* This code has not been tested.... */
if (isdp->id_irq) {
@@ -913,7 +925,6 @@ isa_dmastatus(int chan)
u_long cnt = 0;
int ffport, waport;
u_long low1, high1, low2, high2;
- u_long ef;
/* channel active? */
if ((dma_inuse & (1 << chan)) == 0) {
OpenPOWER on IntegriCloud