> (2) I guess that the probe process of all devices on the tree is triggered
> by root_bus_configure() in subr_bus.c. It is done from top to bottom,
> i.e. the probe process should be propagated down the device tree from
> root_bus. Am I right? How does this tree structure achieve the dynamic
> feature of device configuring (adding/removing devices on the fly)?
When the loaded module registers itself as a driver in a devclass, all
the non-attached devices are probed by calling the method
BUS_DRIVER_ADDED (in devclass_add_driver).
Devices that are already attached are not detached forcefully. There is
still some discussion going on on whether a driver needs to give up a
device when a better fitting driver is loaded (a stub versus a full
blown driver for a device).
See also the listed methods for busses (sys/kern/bus_if.m) and for
devices (sys/kern/device_if.m).
Nick
--
ISIS/STA, T.P.270, Joint Research Centre, 21020 Ispra, Italy
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message