diff options
-rw-r--r-- | sys/dev/ic/wdc.c | 10 | ||||
-rw-r--r-- | sys/dev/ic/wdcvar.h | 3 | ||||
-rw-r--r-- | sys/dev/isa/wdc_isa.c | 6 |
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; |