Cleanup some of the newbus infrastructure.
authorMatthew Dillon <dillon@dragonflybsd.org>
Fri, 28 Oct 2005 03:25:57 +0000 (03:25 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Fri, 28 Oct 2005 03:25:57 +0000 (03:25 +0000)
commit39b5d600dedf02a61b8b1213f9fdaaee4b8292e0
tree116d3a0dfd7d39aef24e6e3ce5572a2529590391
parente1e23b5939349bf090416a2d11197a8e6cfdda9f
Cleanup some of the newbus infrastructure.

* Change the device_identify API to return success/failure, like
  most of the other newbus methods.  This may be used for conflict
  resolution in the future.

* Clearly document the device_identify method and formalize its use
  by adding discrimination between initial bus probes and bus rescans.
  Do not re-execute static identification code that has already been run
  every time a new driver is added at run-time.

* Clearly document the do-ISA-last hack.

* Provide generic routines for the most common device_identify operations
  (psueo or synthesized devices that operate under other devices, such as
  lpt operating under ppbus, which are not 'scanned' by the parent bus).

* Remove the hacks that install and initialize the nexus device.  Instead,
  use the existing DRIVER_MODULE infrastructure to install nexus under
  root_bus.

* Document the boot-time initialization path so it doesn't take the next
  guy 8 hours to figure out what code is actually being run when.
37 files changed:
sys/bus/firewire/firewire.c
sys/bus/isa/isa_common.c
sys/bus/isa/isahint.c
sys/bus/isa/pnp.c
sys/bus/pci/i386/pcibus.c
sys/dev/acpica5/acpi.c
sys/dev/acpica5/acpi_timer.c
sys/dev/disk/aha/aha_isa.c
sys/dev/disk/sbp/sbp.c
sys/dev/disk/vpo/vpo.c
sys/dev/misc/dcons/dcons_crom.c
sys/dev/misc/lpbb/lpbb.c
sys/dev/misc/lpt/lpt.c
sys/dev/misc/orm/orm.c
sys/dev/misc/pcfclock/pcfclock.c
sys/dev/misc/ppi/ppi.c
sys/dev/misc/pps/pps.c
sys/dev/netif/ep/if_ep_isa.c
sys/dev/netif/ex/if_ex_isa.c
sys/dev/netif/fwe/if_fwe.c
sys/dev/netif/plip/if_plip.c
sys/dev/sound/isa/es1888.c
sys/i386/apm/apm.c
sys/i386/i386/autoconf.c
sys/i386/i386/nexus.c
sys/i386/i386/pnpbios.c
sys/i386/isa/npx.c
sys/i386/isa/pmtimer.c
sys/kern/device_if.m
sys/kern/subr_bus.c
sys/platform/pc32/apm/apm.c
sys/platform/pc32/i386/autoconf.c
sys/platform/pc32/i386/nexus.c
sys/platform/pc32/i386/pnpbios.c
sys/platform/pc32/isa/npx.c
sys/platform/pc32/isa/pmtimer.c
sys/sys/bus.h