summaryrefslogtreecommitdiffstats
path: root/sys/kern/bus_if.m
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1999-05-14 11:22:47 +0000
committerdfr <dfr@FreeBSD.org>1999-05-14 11:22:47 +0000
commit8a8a702dc2ad6a84232f0efd1ecb484effb273a1 (patch)
tree22d0abf17160893d226dcecdfe26c0bd265601db /sys/kern/bus_if.m
parent29cc5794964b10b5c333e8d03f21ca3506b79cad (diff)
downloadFreeBSD-src-8a8a702dc2ad6a84232f0efd1ecb484effb273a1.zip
FreeBSD-src-8a8a702dc2ad6a84232f0efd1ecb484effb273a1.tar.gz
* Define a new static method DEVICE_IDENTIFY which is called to add device
instances to a parent bus. * Define a new method BUS_ADD_CHILD which can be called from DEVICE_IDENTIFY to add new instances. * Add a generic implementation of DEVICE_PROBE which calls DEVICE_IDENTIFY for each driver attached to the parent's devclass. * Move the hint-based isa probe from the isa driver to a new isahint driver which can be shared between i386 and alpha.
Diffstat (limited to 'sys/kern/bus_if.m')
-rw-r--r--sys/kern/bus_if.m15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/kern/bus_if.m b/sys/kern/bus_if.m
index 33383ff..1a142a1 100644
--- a/sys/kern/bus_if.m
+++ b/sys/kern/bus_if.m
@@ -23,7 +23,7 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $Id: bus_if.m,v 1.8 1999/05/08 21:59:34 dfr Exp $
+# $Id: bus_if.m,v 1.9 1999/05/10 17:06:12 dfr Exp $
#
INTERFACE bus;
@@ -104,6 +104,19 @@ METHOD void driver_added {
}
#
+# For busses which use use drivers supporting DEVICE_IDENTIFY to
+# enumerate their devices, these methods are used to create new
+# device instances. If place is non-NULL, the new device will be
+# added after place in the list of devices.
+#
+METHOD device_t add_child {
+ device_t dev;
+ device_t place;
+ const char *name;
+ int unit;
+};
+
+#
# Allocate a system resource attached to `dev' on behalf of `child'.
# The types are defined in <machine/resource.h>; the meaning of the
# resource-ID field varies from bus to bus (but *rid == 0 is always
OpenPOWER on IntegriCloud