Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Aug 1999 16:03:32 +0200 (MET DST)
From:      Nick Hibma <nick.hibma@jrc.it>
To:        Zhihui Zhang <zzhang@cs.binghamton.edu>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Questions on new-bus source code
Message-ID:  <Pine.GSO.3.95q.990811153015.22053K-100000@elect8>
In-Reply-To: <Pine.GSO.3.96.990806144109.24194A-100000@sol.cs.binghamton.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
 > (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 majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.95q.990811153015.22053K-100000>