diff options
author | dfr <dfr@FreeBSD.org> | 1999-10-03 12:13:06 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1999-10-03 12:13:06 +0000 |
commit | 0a9033ff881571171d2114a65ff650b7d69e1392 (patch) | |
tree | 7c30202ed1c62e95b3bb0bac38d469e0a02ca407 /sys/isa/isa_common.c | |
parent | 72194a984cab702d4cde0cd128928548ef8ebabd (diff) | |
download | FreeBSD-src-0a9033ff881571171d2114a65ff650b7d69e1392.zip FreeBSD-src-0a9033ff881571171d2114a65ff650b7d69e1392.tar.gz |
Disable pnp devices before running heuristic probes. This allows us to
'hide' those devices from those probes so that they don't get probed and
then re-probed later when the pnp probe is run.
Diffstat (limited to 'sys/isa/isa_common.c')
-rw-r--r-- | sys/isa/isa_common.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/sys/isa/isa_common.c b/sys/isa/isa_common.c index 1fbf7d1..eb64dad 100644 --- a/sys/isa/isa_common.c +++ b/sys/isa/isa_common.c @@ -435,7 +435,21 @@ isa_probe_children(device_t dev) return; /* - * First probe all non-pnp devices so that they claim their + * First disable all pnp devices so that they don't get + * matched by legacy probes. + */ + for (i = 0; i < nchildren; i++) { + device_t child = children[i]; + struct isa_device *idev = DEVTOISA(child); + struct isa_config config; + + bzero(&config, sizeof config); + if (idev->id_config_cb) + idev->id_config_cb(idev->id_config_arg, &config, 0); + } + + /* + * Next probe all non-pnp devices so that they claim their * resources first. */ for (i = 0; i < nchildren; i++) { @@ -449,7 +463,7 @@ isa_probe_children(device_t dev) } /* - * Next assign resource to pnp devices and probe them. + * Finally assign resource to pnp devices and probe them. */ for (i = 0; i < nchildren; i++) { device_t child = children[i]; |