summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/dev/ic/wdc.c10
-rw-r--r--sys/dev/ic/wdcvar.h3
-rw-r--r--sys/dev/isa/wdc_isa.c6
3 files changed, 14 insertions, 5 deletions
diff --git a/sys/dev/ic/wdc.c b/sys/dev/ic/wdc.c
index 0ba3621d019..8166ffa6fa8 100644
--- a/sys/dev/ic/wdc.c
+++ b/sys/dev/ic/wdc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: wdc.c,v 1.19 2000/07/20 07:40:32 csapuntz Exp $ */
+/* $OpenBSD: wdc.c,v 1.20 2000/07/20 19:15:23 csapuntz Exp $ */
/* $NetBSD: wdc.c,v 1.68 1999/06/23 19:00:17 bouyer Exp $ */
@@ -369,7 +369,9 @@ wdcprobe(chp)
chp->_vtbl = &wdc_default_vtbl;
#ifdef WDCDEBUG
- if (chp->wdc->sc_dev.dv_cfdata->cf_flags & WDC_OPTION_PROBE_VERBOSE)
+ if ((chp->ch_flags & WDCF_VERBOSE_PROBE) ||
+ (chp->wdc &&
+ (chp->wdc->sc_dev.dv_cfdata->cf_flags & WDC_OPTION_PROBE_VERBOSE)))
wdcdebug_mask |= DEBUG_PROBE;
#endif
/*
@@ -454,7 +456,9 @@ wdcprobe(chp)
}
#ifdef WDCDEBUG
- if (chp->wdc->sc_dev.dv_cfdata->cf_flags & WDC_OPTION_PROBE_VERBOSE)
+ if ((chp->ch_flags & WDCF_VERBOSE_PROBE) ||
+ (chp->wdc &&
+ (chp->wdc->sc_dev.dv_cfdata->cf_flags & WDC_OPTION_PROBE_VERBOSE)))
wdcdebug_mask &= ~DEBUG_PROBE;
#endif
return (ret_value);
diff --git a/sys/dev/ic/wdcvar.h b/sys/dev/ic/wdcvar.h
index bcfb55a1a08..b325f0d35fd 100644
--- a/sys/dev/ic/wdcvar.h
+++ b/sys/dev/ic/wdcvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: wdcvar.h,v 1.10 2000/07/20 07:40:32 csapuntz Exp $ */
+/* $OpenBSD: wdcvar.h,v 1.11 2000/07/20 19:15:23 csapuntz Exp $ */
/* $NetBSD: wdcvar.h,v 1.17 1999/04/11 20:50:29 bouyer Exp $ */
/*-
@@ -71,6 +71,7 @@ struct channel_softc { /* Per channel data */
#define WDCF_ACTIVE 0x01 /* channel is active */
#define WDCF_IRQ_WAIT 0x10 /* controller is waiting for irq */
#define WDCF_ONESLAVE 0x20 /* slave-only channel */
+#define WDCF_VERBOSE_PROBE 0x40 /* verbose probe */
u_int8_t ch_status; /* copy of status register */
u_int8_t ch_error; /* copy of error register */
/* per-drive infos */
diff --git a/sys/dev/isa/wdc_isa.c b/sys/dev/isa/wdc_isa.c
index e5b1d7ac83d..79937afcedd 100644
--- a/sys/dev/isa/wdc_isa.c
+++ b/sys/dev/isa/wdc_isa.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: wdc_isa.c,v 1.4 1999/10/09 03:42:04 csapuntz Exp $ */
+/* $OpenBSD: wdc_isa.c,v 1.5 2000/07/20 19:15:22 csapuntz Exp $ */
/* $NetBSD: wdc_isa.c,v 1.15 1999/05/19 14:41:25 bouyer Exp $ */
/*-
@@ -107,6 +107,7 @@ wdc_isa_probe(parent, match, aux)
{
struct channel_softc ch;
struct isa_attach_args *ia = aux;
+ struct cfdata *cf = match;
int result = 0;
bzero(&ch, sizeof ch);
@@ -120,6 +121,9 @@ wdc_isa_probe(parent, match, aux)
WDC_ISA_AUXREG_NPORTS, 0, &ch.ctl_ioh))
goto outunmap;
+ if (cf->cf_flags & WDC_OPTION_PROBE_VERBOSE)
+ ch.ch_flags |= WDCF_VERBOSE_PROBE;
+
result = wdcprobe(&ch);
if (result) {
ia->ia_iosize = WDC_ISA_REG_NPORTS;