summaryrefslogtreecommitdiff
path: root/sys/dev/isa/isapnp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/isa/isapnp.c')
-rw-r--r--sys/dev/isa/isapnp.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/sys/dev/isa/isapnp.c b/sys/dev/isa/isapnp.c
index bdc7adb2336..ce9811e90ed 100644
--- a/sys/dev/isa/isapnp.c
+++ b/sys/dev/isa/isapnp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: isapnp.c,v 1.18 1998/06/02 18:23:33 deraadt Exp $ */
+/* $OpenBSD: isapnp.c,v 1.19 1998/07/28 13:26:50 csapuntz Exp $ */
/* $NetBSD: isapnp.c,v 1.9.4.3 1997/10/29 00:40:43 thorpej Exp $ */
/*
@@ -792,6 +792,36 @@ isapnp_configure(sc, ipa)
}
+/*
+ * Some BIOSes take the liberty of configuring our ISA cards for us.
+ *
+ * Disable this so that ISA scan doesn't detect ISAPNP cards
+ *
+ */
+
+void
+isapnp_isa_attach_hook(isa_sc)
+ struct isa_softc *isa_sc;
+
+{
+ struct isapnp_softc sc;
+
+ sc.sc_iot = isa_sc->sc_iot;
+ sc.sc_ncards = 0;
+
+ if (isapnp_map(&sc))
+ return;
+
+ printf ("isapnp: putting PNP cards to sleep\n");
+
+ isapnp_init(&sc);
+
+ isapnp_write_reg(&sc, ISAPNP_CONFIG_CONTROL, ISAPNP_CC_RESET_DRV);
+ DELAY(2000);
+
+ isapnp_unmap(&sc);
+}
+
/* isapnp_match():
* Probe routine
*/