summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authordfr <dfr@FreeBSD.org>1998-09-03 21:52:05 +0000
committerdfr <dfr@FreeBSD.org>1998-09-03 21:52:05 +0000
commitcd489c519a109c93001769e1008a8a567608e6b8 (patch)
tree7dd9657b041b5806f628d67e082665accc0027d8 /share
parent243726c1b8c1d3ac7eda2073abcc9375d40b20c1 (diff)
downloadFreeBSD-src-cd489c519a109c93001769e1008a8a567608e6b8.zip
FreeBSD-src-cd489c519a109c93001769e1008a8a567608e6b8.tar.gz
Add manpages for the new device framework.
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/BUS_CONNECT_INTR.957
-rw-r--r--share/man/man9/BUS_CREATE_INTR.966
-rw-r--r--share/man/man9/BUS_PRINT_CHILD.954
-rw-r--r--share/man/man9/BUS_READ_IVAR.964
-rw-r--r--share/man/man9/DEVICE_ATTACH.957
-rw-r--r--share/man/man9/DEVICE_DETACH.960
-rw-r--r--share/man/man9/DEVICE_PROBE.962
-rw-r--r--share/man/man9/DEVICE_SHUTDOWN.954
-rw-r--r--share/man/man9/Makefile29
-rw-r--r--share/man/man9/bus_generic_attach.959
-rw-r--r--share/man/man9/bus_generic_detach.960
-rw-r--r--share/man/man9/bus_generic_map_intr.958
-rw-r--r--share/man/man9/bus_generic_print_child.956
-rw-r--r--share/man/man9/bus_generic_read_ivar.959
-rw-r--r--share/man/man9/bus_generic_shutdown.960
-rw-r--r--share/man/man9/devclass.965
-rw-r--r--share/man/man9/devclass_add_driver.958
-rw-r--r--share/man/man9/devclass_find.957
-rw-r--r--share/man/man9/devclass_get_device.953
-rw-r--r--share/man/man9/devclass_get_devices.958
-rw-r--r--share/man/man9/devclass_get_maxunit.952
-rw-r--r--share/man/man9/devclass_get_name.950
-rw-r--r--share/man/man9/devclass_get_softc.953
-rw-r--r--share/man/man9/device.9102
-rw-r--r--share/man/man9/device_add_child.9108
-rw-r--r--share/man/man9/device_delete_child.957
-rw-r--r--share/man/man9/device_enable.963
-rw-r--r--share/man/man9/device_find_child.956
-rw-r--r--share/man/man9/device_get_devclass.953
-rw-r--r--share/man/man9/device_get_driver.953
-rw-r--r--share/man/man9/device_get_ivars.949
-rw-r--r--share/man/man9/device_get_softc.951
-rw-r--r--share/man/man9/device_get_state.993
-rw-r--r--share/man/man9/device_get_unit.949
-rw-r--r--share/man/man9/device_probe_and_attach.961
-rw-r--r--share/man/man9/device_set_desc.954
-rw-r--r--share/man/man9/driver.9103
37 files changed, 2252 insertions, 1 deletions
diff --git a/share/man/man9/BUS_CONNECT_INTR.9 b/share/man/man9/BUS_CONNECT_INTR.9
new file mode 100644
index 0000000..28d3dd6
--- /dev/null
+++ b/share/man/man9/BUS_CONNECT_INTR.9
@@ -0,0 +1,57 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt BUS_CONNECT_INTR 9
+.Os FreeBSD
+.Sh NAME
+.Nm BUS_CONNECT_INTR
+.Nd activate an interrupt handler
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn BUS_CONNECT_INTR "device_t dev" "void *ih"
+.Sh DESCRIPTION
+.Pp
+This method activates an interrupt handler previously created by
+.Xr BUS_CREATE_INTR 9 .
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9 ,
+.Xr BUS_CREATE_INTR 9
+.Sh BUGS
+This interface is probably inadequate and is subject to change.
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/BUS_CREATE_INTR.9 b/share/man/man9/BUS_CREATE_INTR.9
new file mode 100644
index 0000000..3b57529
--- /dev/null
+++ b/share/man/man9/BUS_CREATE_INTR.9
@@ -0,0 +1,66 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt BUS_CREATE_INTR 9
+.Os FreeBSD
+.Sh NAME
+.Nm BUS_CREATE_INTR
+.Nd create an interrupt handler
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft void *
+.Fn BUS_CREATE_INTR "device_t dev" "device_t child" "int irq" "driver_intr_t *intr" "void *arg"
+.Sh DESCRIPTION
+.Pp
+The method
+.Xr BUS_CREATE_INTR 9
+creates an interrupt handler for the child device. The handler
+.Fa intr
+will be called with the value
+.Fa arg
+as its only argument.
+The handle returned can be used in a call to
+.Xr BUS_CONNECT_INTR 9
+to activate the handler.
+.Sh RETURN VALUES
+An opaque handle which can be used to activate the interrupt is
+returned if the call is successful, otherwise NULL is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9 ,
+.Xr BUS_CONNECT_INTR 9
+.Sh BUGS
+This interface is probably inadequate and is subject to change.
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/BUS_PRINT_CHILD.9 b/share/man/man9/BUS_PRINT_CHILD.9
new file mode 100644
index 0000000..2df14b01
--- /dev/null
+++ b/share/man/man9/BUS_PRINT_CHILD.9
@@ -0,0 +1,54 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt BUS_PRINT_CHILD 9
+.Os FreeBSD
+.Sh NAME
+.Nm BUS_PRINT_CHILD
+.Nd print information about a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn BUS_PRINT_CHILD "device_t dev" "device_t child"
+.Sh DESCRIPTION
+.Pp
+This is called from system code which prints out a description of a
+device. It should describe the attachment that the child has with
+the parent. For instance the TurboLaser bus prints which node the
+device is attached to.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/BUS_READ_IVAR.9 b/share/man/man9/BUS_READ_IVAR.9
new file mode 100644
index 0000000..6739342
--- /dev/null
+++ b/share/man/man9/BUS_READ_IVAR.9
@@ -0,0 +1,64 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt BUS_READ_IVAR 9
+.Os FreeBSD
+.Sh NAME
+.Nm BUS_READ_IVAR ,
+.Nm BUS_WRITE_IVAR
+.Nd manipulate bus-specific device instance variables
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn BUS_READ_IVAR "device_t dev" "device_t child" "int index" "u_long *result"
+.Ft int
+.Fn BUS_WRITE_IVAR "device_t dev" "device_t child" "int index" "u_long value"
+.Sh DESCRIPTION
+.Pp
+These two methods manage a bus specific set of instance variables of
+a child device. The intention is that each different type of bus
+defines a set of appropriate instance variables (such as ports and
+irqs for ISA bus etc.)
+.Pp
+This information could be given to the child device as a struct but
+that makes it hard for a bus to add or remove variables without
+forcing an edit and recompile for all drivers which may not be
+possible for vendor supplied binary drivers.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/DEVICE_ATTACH.9 b/share/man/man9/DEVICE_ATTACH.9
new file mode 100644
index 0000000..9c21076
--- /dev/null
+++ b/share/man/man9/DEVICE_ATTACH.9
@@ -0,0 +1,57 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt DEVICE_ATTACH 9
+.Os FreeBSD
+.Sh NAME
+.Nm DEVICE_ATTACH
+.Nd attach a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn DEVICE_ATTACH "device_t dev"
+.Sh DESCRIPTION
+.Pp
+Attach a device to the system. The probe method will have been called
+and will have indicated that the device exists. This routine should
+initialise the hardware and allocate other system resources (such as
+devfs entries).
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9
+.Xr DEVICE_PROBE 9 ,
+.Xr DEVICE_DETACH 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/DEVICE_DETACH.9 b/share/man/man9/DEVICE_DETACH.9
new file mode 100644
index 0000000..02efc18
--- /dev/null
+++ b/share/man/man9/DEVICE_DETACH.9
@@ -0,0 +1,60 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt DEVICE_DETACH 9
+.Os FreeBSD
+.Sh NAME
+.Nm DEVICE_DETACH
+.Nd detach a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn DEVICE_DETACH "device_t dev" "int arg1" "int arg2"
+.Sh DESCRIPTION
+.Pp
+Detach a device. This can be called if the user is replacing the
+driver software or if a device is about to be physically removed from
+the system (e.g. for pccard devices).
+.Pp
+The method should deallocate any system resources allocated during the
+.Xr DEVICE_ATTACH 9
+method and reset the hardware to a sane state (i.e. disable interrupts
+etc.)
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr DEVICE_ATTACH 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/DEVICE_PROBE.9 b/share/man/man9/DEVICE_PROBE.9
new file mode 100644
index 0000000..412c8a5
--- /dev/null
+++ b/share/man/man9/DEVICE_PROBE.9
@@ -0,0 +1,62 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt DEVICE_PROBE 9
+.Os FreeBSD
+.Sh NAME
+.Nm DEVICE_PROBE
+.Nd probe for device existence
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn DEVICE_PROBE "device_t dev"
+.Sh DESCRIPTION
+.Pp
+This device method should probe to see if the device is present. If
+the device exists, the probe should return 0, otherwise ENXIO should
+be returned. If some other error happens during the probe (such as a
+memory allocation failure), an appropriate error code should be returned.
+.Pp
+Devices which implement busses should use this method to probe for the
+existence of devices attached to the bus and add them as children. If
+this is combined with the use of
+.Xr bus_generic_attach 9
+the child devices will be automatically probed and attached.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr DEVICE_ATTACH 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/DEVICE_SHUTDOWN.9 b/share/man/man9/DEVICE_SHUTDOWN.9
new file mode 100644
index 0000000..6808684
--- /dev/null
+++ b/share/man/man9/DEVICE_SHUTDOWN.9
@@ -0,0 +1,54 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt DEVICE_SHUTDOWN 9
+.Os FreeBSD
+.Sh NAME
+.Nm DEVICE_SHUTDOWN
+.Nd called during system shutdown
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn DEVICE_SHUTDOWN "device_t dev"
+.Sh DESCRIPTION
+.Pp
+This is called during system shutdown to allow the driver to put the
+hardware into a consistent state for rebooting the computer.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr DEVICE_ATTACH 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
index 6e474f7..57e7734 100644
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.35 1998/03/04 10:23:48 dufault Exp $
+# $Id: Makefile,v 1.36 1998/03/28 11:49:06 dufault Exp $
MAN9= MD5.9 \
VFS.9 VFS_FHTOVP.9 VFS_INIT.9 VFS_MOUNT.9 VFS_QUOTACTL.9 \
@@ -19,6 +19,21 @@ MAN9= MD5.9 \
store.9 style.9 suser.9 time.9 timeout.9 uio.9 \
vget.9 vnode.9 vput.9 vref.9 vrele.9 vslock.9
+MAN9+= device.9 device_add_child.9 device_delete_child.9 device_enable.9 \
+ device_find_child.9 device_get_devclass.9 device_get_driver.9 \
+ device_get_ivars.9 device_get_softc.9 device_get_state.9 \
+ device_get_unit.9 device_probe_and_attach.9 device_set_desc.9 \
+ driver.9 \
+ devclass.9 devclass_add_driver.9 devclass_find.9 \
+ devclass_get_device.9 devclass_get_devices.9 devclass_get_maxunit.9 \
+ devclass_get_name.9 devclass_get_softc.9 \
+ DEVICE_ATTACH.9 DEVICE_DETACH.9 DEVICE_PROBE.9 DEVICE_SHUTDOWN.9 \
+ BUS_CREATE_INTR.9 BUS_CONNECT_INTR.9 BUS_PRINT_CHILD.9 \
+ BUS_READ_IVAR.9 \
+ bus_generic_attach.9 bus_generic_detach.9 bus_generic_map_intr.9 \
+ bus_generic_print_child.9 bus_generic_read_ivar.9 \
+ bus_generic_shutdown.9
+
MLINKS+=MD5.9 MD5Init.9 MD5.9 MD5Transform.9
MLINKS+=VOP_ATTRIB.9 VOP_GETATTR.9
MLINKS+=VOP_ATTRIB.9 VOP_SETATTR.9
@@ -57,4 +72,16 @@ MLINKS+=timeout.9 untimeout.9
MLINKS+=vref.9 VREF.9
MLINKS+=vslock.9 vsunlock.9
+MLINKS+=device_add_child.9 device_add_child_after.9
+MLINKS+=device_enable.9 device_disable.9
+MLINKS+=device_enable.9 device_is_enabled.9
+MLINKS+=device_get_state.9 device_busy.9
+MLINKS+=device_get_state.9 device_unbusy.9
+MLINKS+=device_get_state.9 device_is_alive.9
+MLINKS+=device_set_desc.9 device_get_desc.9
+MLINKS+=devclass_add_driver.9 devclass_delete_driver.9
+MLINKS+=devclass_add_driver.9 devclass_find_driver.9
+MLINKS+=BUS_READ_IVAR.9 BUS_WRITE_IVAR.9
+MLINKS+=bus_generic_read_ivar.9 bus_generic_write_ivar.9
+
.include <bsd.prog.mk>
diff --git a/share/man/man9/bus_generic_attach.9 b/share/man/man9/bus_generic_attach.9
new file mode 100644
index 0000000..532da47
--- /dev/null
+++ b/share/man/man9/bus_generic_attach.9
@@ -0,0 +1,59 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt bus_generic_attach 9
+.Os FreeBSD
+.Sh NAME
+.Nm bus_generic_attach
+.Nd generic implementation of
+.Dv DEVICE_ATTACH
+for busses
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn bus_generic_attach "device_t dev"
+.Sh DESCRIPTION
+.Pp
+This function provides an implementation of the
+.Xr DEVICE_ATTACH 9
+method which can be used by most bus code. It simply calls
+.Xr device_probe_and_attach 9
+for each child device attached to the bus.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/bus_generic_detach.9 b/share/man/man9/bus_generic_detach.9
new file mode 100644
index 0000000..c12780a
--- /dev/null
+++ b/share/man/man9/bus_generic_detach.9
@@ -0,0 +1,60 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt bus_generic_detach 9
+.Os FreeBSD
+.Sh NAME
+.Nm bus_generic_detach
+.Nd generic implementation of
+.Dv DEVICE_DETACH
+for busses
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn bus_generic_detach "device_t dev"
+.Sh DESCRIPTION
+.Pp
+This function provides an implementation of the
+.Xr DEVICE_DETACH 9
+method
+which can be used by most bus code. It simply calls the
+.Xr DEVICE_DETACH 9
+method of each child device attached to the bus.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/bus_generic_map_intr.9 b/share/man/man9/bus_generic_map_intr.9
new file mode 100644
index 0000000..af86111
--- /dev/null
+++ b/share/man/man9/bus_generic_map_intr.9
@@ -0,0 +1,58 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt bus_generic_map_intr 9
+.Os FreeBSD
+.Sh NAME
+.Nm bus_generic_map_intr
+.Nd generic implementation of
+.Dv BUS_MAP_INTR
+for busses
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn bus_generic_map_intr "device_t dev" "device_t child" "driver_intr_t *intr" "void *arg"
+.Sh DESCRIPTION
+.Pp
+This simple implementation of
+.Xr BUS_MAP_INTR 9
+just calls the method of
+.Fa dev 's
+parent.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/bus_generic_print_child.9 b/share/man/man9/bus_generic_print_child.9
new file mode 100644
index 0000000..da9cbdc
--- /dev/null
+++ b/share/man/man9/bus_generic_print_child.9
@@ -0,0 +1,56 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt bus_generic_print_child 9
+.Os FreeBSD
+.Sh NAME
+.Nm bus_generic_print_child
+.Nd generic implementation of
+.Dv DEVICE_PRINT_CHILD
+for busses
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn bus_generic_print_child "device_t dev" "device_t child"
+.Sh DESCRIPTION
+.Pp
+This implementation prints nothing at all.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9
+.Sh BUGS
+Not terribly useful.
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/bus_generic_read_ivar.9 b/share/man/man9/bus_generic_read_ivar.9
new file mode 100644
index 0000000..3f75b65
--- /dev/null
+++ b/share/man/man9/bus_generic_read_ivar.9
@@ -0,0 +1,59 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt bus_generic_read_ivar 9
+.Os FreeBSD
+.Sh NAME
+.Nm bus_generic_read_ivar ,
+.Nm bus_generic_write_ivar
+.Nd generic implementation of
+.Dv BUS_READ_IVAR
+and
+.Dv BUS_WRITE_IVAR
+for busses
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn bus_generic_read_ivar "device_t dev" "device_t child" "int index" "u_long *result"
+.Ft int
+.Fn bus_generic_write_ivar "device_t dev" "device_t child" "int index" "u_long value"
+.Sh DESCRIPTION
+.Pp
+These functions simply return
+.Dv ENOENT .
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/bus_generic_shutdown.9 b/share/man/man9/bus_generic_shutdown.9
new file mode 100644
index 0000000..8b3b198
--- /dev/null
+++ b/share/man/man9/bus_generic_shutdown.9
@@ -0,0 +1,60 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Os
+.Dt bus_generic_shutdown 9
+.Os FreeBSD
+.Sh NAME
+.Nm bus_generic_shutdown
+.Nd generic implementation of
+.Dv DEVICE_SHUTDOWN
+for busses
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn bus_generic_shutdown "device_t dev"
+.Sh DESCRIPTION
+.Pp
+This function provides an implementation of the
+.Xr DEVICE_SHUTDOWN 9
+method
+which can be used by most bus code. It simply calls the
+.Xr DEVICE_SHUTDOWN 9
+method of each child device attached to the bus.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass.9 b/share/man/man9/devclass.9
new file mode 100644
index 0000000..1939854
--- /dev/null
+++ b/share/man/man9/devclass.9
@@ -0,0 +1,65 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass
+.Nd object representing a class of devices
+.Sh SYNOPSYS
+.Dv typedef struct devclass *devclass_t;
+.Sh DESCRIPTION
+.Pp
+The
+.Dv devclass
+object has two main functions in the system. The first is to manage
+the allocation of unit numbers for device instances and the second is
+to hold the list of device drivers for a particular bus type.
+Each
+.Dv devclass
+has a name and there cannot be two devclasses with the same name.
+This ensures that unique unit numbers are allocated to device
+instances.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9 ,
+.Xr devclass_find 9 ,
+.Xr devclass_add_driver 9 ,
+.Xr devclass_delete_driver 9 ,
+.Xr devclass_find_driver 9 ,
+.Xr devclass_get_name 9 ,
+.Xr devclass_get_device 9 ,
+.Xr devclass_get_softc 9 ,
+.Xr devclass_get_devices 9 ,
+.Xr devclass_get_maxunit 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass_add_driver.9 b/share/man/man9/devclass_add_driver.9
new file mode 100644
index 0000000..a433af8
--- /dev/null
+++ b/share/man/man9/devclass_add_driver.9
@@ -0,0 +1,58 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass_add_driver 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass_add_driver ,
+.Nm devclass_delete_driver ,
+.Nm devclass_find_driver
+.Nd manipulate the drivers in a devclass
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn devclass_add_driver "devclass_t dc" "driver_t *driver"
+.Ft int
+.Fn devclass_delete_driver "devclass_t dc" "driver_t *driver"
+.Ft driver_t *
+.Fn devclass_find_driver "devclass_t dc" "const char *name"
+.Sh DESCRIPTION
+.Pp
+These functions can be used to add new drivers into the system, remove
+old ones and search for existing ones. Normally drivers are added
+automatically during system initialisation.
+.Sh SEE ALSO
+.Xr devclass 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass_find.9 b/share/man/man9/devclass_find.9
new file mode 100644
index 0000000..d89eddf
--- /dev/null
+++ b/share/man/man9/devclass_find.9
@@ -0,0 +1,57 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass_find 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass_find
+.Nd search for a devclass
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft devclass_t
+.Fn devclass_find "const char *classname"
+.Sh DESCRIPTION
+.Pp
+Search for the
+.Dv devclass
+with the specified name.
+.Sh RETURN VALUES
+If the
+.Dv devclass
+exists, it is returned, otherwise
+.Dv NULL
+is returned.
+.Sh SEE ALSO
+.Xr devclass 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass_get_device.9 b/share/man/man9/devclass_get_device.9
new file mode 100644
index 0000000..8f8a373
--- /dev/null
+++ b/share/man/man9/devclass_get_device.9
@@ -0,0 +1,53 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass_get_device 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass_get_device
+.Nd translate unit number to device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn devclass_get_device "devclass_t dc" "int unit"
+.Sh DESCRIPTION
+.Pp
+This function retrieves the device instance with the given unit number
+and returns it.
+.Sh RETURN VALUES
+If the device exists, it is returned, otherwise NULL is returned.
+.Sh SEE ALSO
+.Xr devclass 9 ,
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass_get_devices.9 b/share/man/man9/devclass_get_devices.9
new file mode 100644
index 0000000..686d255
--- /dev/null
+++ b/share/man/man9/devclass_get_devices.9
@@ -0,0 +1,58 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass_get_devices 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass_get_devices
+.Nd get a list of devices in a devclass
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn devclass_get_devices "devclass_t dc" "int device_t **devlistp" "int *devcountp"
+.Sh DESCRIPTION
+.Pp
+Retrieve a list of all device instances currently in the devclass and
+return the list in
+.Fa *devlistp
+and the count in
+.Fa *devcountp .
+The memory allocated for the list should be freed using
+.Fn free "*devlistp" "M_TEMP" .
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr devclass 9 ,
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass_get_maxunit.9 b/share/man/man9/devclass_get_maxunit.9
new file mode 100644
index 0000000..cdea7e6
--- /dev/null
+++ b/share/man/man9/devclass_get_maxunit.9
@@ -0,0 +1,52 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass_get_maxunit 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass_get_maxunit
+.Nd find the maximum unit number in the class
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn devclass_get_maxunit "devclass_t dc"
+.Sh DESCRIPTION
+.Pp
+Returns the maximum unit number allocated to device instances in the
+specified
+.Dv devclass .
+.Sh SEE ALSO
+.Xr devclass 9 ,
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass_get_name.9 b/share/man/man9/devclass_get_name.9
new file mode 100644
index 0000000..6bdaddc
--- /dev/null
+++ b/share/man/man9/devclass_get_name.9
@@ -0,0 +1,50 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass_get_name 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass_get_name
+.Nd access the name of a devclass
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft const char *
+.Fn devclass_get_name "devclass_t dc"
+.Sh DESCRIPTION
+.Pp
+Return the name of a devclass.
+.Sh SEE ALSO
+.Xr devclass 9 ,
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/devclass_get_softc.9 b/share/man/man9/devclass_get_softc.9
new file mode 100644
index 0000000..6cd730a
--- /dev/null
+++ b/share/man/man9/devclass_get_softc.9
@@ -0,0 +1,53 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt devclass_get_softc 9
+.Os FreeBSD
+.Sh NAME
+.Nm devclass_get_softc
+.Nd translate unit number to driver private structure
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn devclass_get_softc "devclass_t dc" "int unit"
+.Sh DESCRIPTION
+.Pp
+This function retrieves the driver private instance variables for the
+device with the given unit number and returns it.
+.Sh RETURN VALUES
+If the device exists, its driver-private variables are returned,
+otherwise NULL is returned.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device.9 b/share/man/man9/device.9
new file mode 100644
index 0000000..908bac9
--- /dev/null
+++ b/share/man/man9/device.9
@@ -0,0 +1,102 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device 9
+.Os FreeBSD
+.Sh NAME
+.Nm device
+.Nd an abstract representation of a device
+.Sh SYNOPSYS
+.Dv typedef struct device *device_t;
+.Sh DESCRIPTION
+.Pp
+The device object represents a piece of hardware attached to the
+system such as an expansion card, the bus which that card is plugged
+into, disk drives attached to the expansion card etc.
+The system defines one device,
+.Dv root_bus
+and all other devices are created dynamically during
+autoconfiguration. Normally devices representing toplevel busses in
+the system (ISA, PCI etc.) will be attached directly to
+.Dv root_bus
+and other devices will be added as children of their relavent bus.
+.Pp
+The devices in a system form a tree. All devices except
+.Dv root_bus
+have a parent (see
+.Xr device_get_parent 9 ).
+In addition, any device can have children attached to it (see
+.Xr device_add_child 9 ,
+.Xr device_add_child_after 9 ,
+.Xr device_find_child 9 ,
+and
+.Xr device_delete_child 9 ).
+.Pp
+A device which has been successfully been probed and attached to the
+system will also have a driver (see
+.Xr device_get_driver 9
+and
+.Xr driver 9 )
+and a devclass (see
+.Xr device_get_devclass 9
+and
+.Xr devclass 9 ).
+Various other attributes of the device include a unit number (see
+.Xr device_get_unit 9 ),
+verbose description (normally supplied by the driver, see
+.Xr device_set_desc 9
+and
+.Xr device_get_desc 9 ),
+a set of bus-specific variables (see
+.Xr device_get_ivars 9 )
+and a set of driver-specific variables (see
+.Xr device_get_softc 9 ).
+.Pp
+Devices can be in one of several states:
+.Bl -tag -width DS_NOTPRESENT
+.It Ar DS_NOTPRESENT
+the device has not been probed for existence or the probe failed
+.It Ar DS_ALIVE
+the device probe succeeded but not yet attached
+.It Ar DS_ATTACHED
+the device has been successfully attached
+.It Ar DS_BUSY
+the device is currently open
+.El
+.Pp
+The current state of the device can be determined by calling
+.Xr device_get_state 9 .
+.Sh SEE ALSO
+.Xr driver 9 ,
+.Xr devclass 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_add_child.9 b/share/man/man9/device_add_child.9
new file mode 100644
index 0000000..0f4d172
--- /dev/null
+++ b/share/man/man9/device_add_child.9
@@ -0,0 +1,108 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_add_child 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_add_child ,
+.Nm device_add_child_after
+.Nd add a new device as a child of an existing device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn bus_add_child "device_t dev" "const char *name" "int unit" "void *ivars"
+.Ft int
+.Fn bus_add_child_after "device_t dev" "device_t place" "const char *name" "int unit" "void *ivars"
+.Sh DESCRIPTION
+.Pp
+Create a new child device of
+.Fa dev .
+The
+.Fa name
+and
+.Fa unit
+arguments specify the name and unit number of the device.
+If the name is unknown then the caller should pass
+.Dv NULL .
+If the unit is unknown then the caller should pass
+.Dv -1
+and the system will choose the next available unit number.
+If there is any bus-specific data associated with the new child device
+(i.e. port numbers, irq settings etc.) then this should be supplied as
+the
+.Fa ivars
+argument.
+.Pp
+The name of the device is used to determine which drivers might be
+appropriate for the device. If a name is specified then only drivers
+of that name are probed. If no name is given then all drivers for the
+owning bus are probed.
+.Pp
+This allows busses which can uniquely identify device instances (such
+as PCI) to allow each driver to check each device instance for a
+match. For busses which rely on supplied probe hints where only one
+driver can have a change of probing the device, the driver name should
+specified as the device name.
+.Pp
+Normally unit numbers will be chosen automatically by the system and a
+unit number of
+.Dv -1
+should be given.
+When a specific unit number is desired (e.g. for wiring a particular
+piece of hardware to a pre-configured unit number), that unit should
+be passed. If the specified unit number is already allocated, a new
+unit will be allocated and a diagnostic message printed.
+.Pp
+If the devices attached to a bus must be probed in a specific order
+(e.g. for ISA bus devices which are sensitive to failed probe attempts
+of unrelated drivers), the
+.Fa place
+argument of
+.Xr device_add_child_after 9
+should be used. If
+.Dv NULL
+is passed, the new device will be added as the first child of
+.Fa dev ,
+otherwise it will be added immediately after
+.Fa place
+(which must be an existing child of
+.Fa dev )
+in the list of children. If
+.Xr device_add_child 9
+is used, then the new child will be added at the end of the list.
+.Sh RETURN VALUES
+The new device if successful, NULL otherwise.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_delete_child.9 b/share/man/man9/device_delete_child.9
new file mode 100644
index 0000000..215dfc5
--- /dev/null
+++ b/share/man/man9/device_delete_child.9
@@ -0,0 +1,57 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_delete_child 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_delete_child
+.Nd delete a child from a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn device_delete_child "device_t dev" "device_t child"
+.Sh DESCRIPTION
+.Pp
+The specified device is removed from
+.Fa dev
+and deleted.
+If the device is currently attached, it is first detached (see
+.Xr DEVICE_ATTACH 9
+and
+.Xr DEVICE_DETACH 9 ).
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an error is returned.
+.Sh SEE ALSO
+.Xr device_add_child 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_enable.9 b/share/man/man9/device_enable.9
new file mode 100644
index 0000000..5c83b1a
--- /dev/null
+++ b/share/man/man9/device_enable.9
@@ -0,0 +1,63 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_enable 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_enable ,
+.Nm device_disable ,
+.Nm device_is_enabled
+.Nd manipulate device enabled flag
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft void
+.Fn device_enable "device_t dev"
+.Ft void
+.Fn device_disable "device_t dev"
+.Ft int
+.Fn device_is_enabled "device_t dev"
+.Sh DESCRIPTION
+.Pp
+Each device has an enabled flag associated with it. A device is
+enabled by default when it is created but may be disabled (for
+instance to prevent a destructive or time consuming probe attempt).
+To disable a device, call
+.Xr device_disable 9 ,
+to reenable it, call
+.Xr device_enable 9
+and to test to see if a device is enabled, call
+.Xr device_is_enabled 9 .
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_find_child.9 b/share/man/man9/device_find_child.9
new file mode 100644
index 0000000..db0acbd
--- /dev/null
+++ b/share/man/man9/device_find_child.9
@@ -0,0 +1,56 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_find_child 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_find_child
+.Nd search for a child of a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn device_find_child "device_t dev" "const char* name" "int unit"
+.Sh DESCRIPTION
+.Pp
+This function looks for a specific child of
+.Dv dev .
+with the given
+.Fa name
+and
+.Fa unit .
+.Sh RETURN VALUES
+If it exists, the child device is returned, otherwise NULL.
+.Sh SEE ALSO
+.Xr device_add_child 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_get_devclass.9 b/share/man/man9/device_get_devclass.9
new file mode 100644
index 0000000..bcd945a
--- /dev/null
+++ b/share/man/man9/device_get_devclass.9
@@ -0,0 +1,53 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_get_devclass 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_get_devclass
+.Nd access the devclass of a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft devclass_t
+.Fn device_get_devclass "device_t dev"
+.Sh DESCRIPTION
+.Pp
+The current devclass associated with the device is returned. If the
+device has no devclass,
+.Dv NULL
+is returned.
+.Sh SEE ALSO
+.Xr devclass 9
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_get_driver.9 b/share/man/man9/device_get_driver.9
new file mode 100644
index 0000000..b970a26
--- /dev/null
+++ b/share/man/man9/device_get_driver.9
@@ -0,0 +1,53 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_get_driver 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_get_driver
+.Nd access the current driver of a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft driver_t *
+.Fn device_get_driver "device_t dev"
+.Sh DESCRIPTION
+.Pp
+The current driver associated with the device is returned. If the
+device has no driver,
+.Dv NULL
+is returned.
+.Sh SEE ALSO
+.Xr driver 9
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_get_ivars.9 b/share/man/man9/device_get_ivars.9
new file mode 100644
index 0000000..2370594
--- /dev/null
+++ b/share/man/man9/device_get_ivars.9
@@ -0,0 +1,49 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_get_ivars 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_get_ivars
+.Nd access bus private variables
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft void *
+.Fn device_get_ivars "device_t dev"
+.Sh DESCRIPTION
+.Pp
+Return the bus-specific instance variables of a device.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_get_softc.9 b/share/man/man9/device_get_softc.9
new file mode 100644
index 0000000..02c7923
--- /dev/null
+++ b/share/man/man9/device_get_softc.9
@@ -0,0 +1,51 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_get_softc 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_get_softc
+.Nd access driver private instance variables
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft void *
+.Fn device_get_softc "device_t dev"
+.Sh DESCRIPTION
+.Pp
+Return the driver-specific instance variables of a device.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an error is returned.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_get_state.9 b/share/man/man9/device_get_state.9
new file mode 100644
index 0000000..f67f608
--- /dev/null
+++ b/share/man/man9/device_get_state.9
@@ -0,0 +1,93 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_get_state 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_get_state ,
+.Nm device_busy ,
+.Nm device_unbusy ,
+.Nm device_is_alive
+.Nd manipulate device state
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft device_state_t
+.Fn device_get_state "device_t dev"
+.Ft void
+.Fn device_busy "device_t dev"
+.Ft void
+.Fn device_unbusy "device_t dev"
+.Ft int
+.Fn device_is_alive "device_t dev"
+.Sh DESCRIPTION
+.Pp
+The current state of a device is accessed by calling
+.Xr device_get_state 9
+which returns
+.Dv DS_NOTPRESENT ,
+.Dv DS_ALIVE ,
+.Dv DS_ATTACHED
+or
+.Dv DS_BUSY
+(described in
+.Xr device 9 ).
+To test see if a device was successfully probed, call
+.Xr device_is_alive 9
+which simply returns if the state is greater or equal to
+.Dv DS_ALIVE .
+.Pp
+Each device has a busy count which is incremented when
+.Xr device_busy 9
+is called and decremented when
+.Xr device_unbusy 9
+is called. Both routines return an error if the device state is less
+than
+.Dv DS_ATTACHED .
+.Pp
+When
+.Xr device_busy 9
+is called on a device in the
+.Dv DS_ATTACHED
+state, the device changes to the
+.Dv DS_BUSY
+state.
+When
+.Xr device_unbusy 9
+is called and after decrementing, the busy count for the device is
+zero, the device changes to the
+.Dv DS_ATTACHED
+state.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_get_unit.9 b/share/man/man9/device_get_unit.9
new file mode 100644
index 0000000..b370aad
--- /dev/null
+++ b/share/man/man9/device_get_unit.9
@@ -0,0 +1,49 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_get_unit 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_get_unit
+.Nd access the unit number of a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn device_get_unit "device_t dev"
+.Sh DESCRIPTION
+.Pp
+Return the unit number of the device.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_probe_and_attach.9 b/share/man/man9/device_probe_and_attach.9
new file mode 100644
index 0000000..ee0bb80
--- /dev/null
+++ b/share/man/man9/device_probe_and_attach.9
@@ -0,0 +1,61 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_probe_and_attach 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_probe_and_attach
+.Nd initialise a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft int
+.Fn device_probe_and_attach "device_t dev"
+.Sh DESCRIPTION
+.Pp
+This function is called during autoconfiguration to initialise the
+devices in the system. For each device, the
+.Xr DEVICE_PROBE 9
+method of each suitable driver is called and if a probe succeeds, a
+description of the device is printed and the
+.Xr DEVICE_ATTACH 9
+method is called.
+If the device is disabled using
+.Xr device_disable 9
+then it will not be probed.
+.Sh RETURN VALUES
+Zero is returned on success, otherwise an appropriate error is returned.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr driver 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/device_set_desc.9 b/share/man/man9/device_set_desc.9
new file mode 100644
index 0000000..5e992c6
--- /dev/null
+++ b/share/man/man9/device_set_desc.9
@@ -0,0 +1,54 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt device_set_desc 9
+.Os FreeBSD
+.Sh NAME
+.Nm device_set_desc ,
+.Nm device_get_desc
+.Nd access the description of a device
+.Sh SYNOPSIS
+.Fd #include <sys/param.h>
+.Fd #include <sys/bus.h>
+.Ft void
+.Fn device_set_desc "device_t dev" "const char *desc"
+.Ft const char *
+.Fn device_get_desc "device_t dev"
+.Sh DESCRIPTION
+.Pp
+Manipulate the verbose description of a device. This description (if
+present) is printed as part of the message when it is attached during
+autoconfiguration.
+.Sh SEE ALSO
+.Xr device 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
diff --git a/share/man/man9/driver.9 b/share/man/man9/driver.9
new file mode 100644
index 0000000..e8c70ef
--- /dev/null
+++ b/share/man/man9/driver.9
@@ -0,0 +1,103 @@
+.\" -*- nroff -*-
+.\"
+.\" Copyright (c) 1998 Doug Rabson
+.\"
+.\" All rights reserved.
+.\"
+.\" This program is free software.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $Id$
+.\"
+.Dd June 16, 1998
+.Dt driver 9
+.Os FreeBSD
+.Sh NAME
+.Nm driver
+.Nd structure describing a device driver
+.Sh SYNOPSIS
+.Bd -literal
+#include <sys/param.h>
+#include <sys/bus.h>
+
+static int foo_probe(device_t);
+static int foo_attach(device_t);
+static int foo_detach(device_t);
+static int foo_frob(device_t, int, int);
+static int foo_twiddle(device_t, char *);
+
+static struct device_method foo_methods[] = {
+ /* Methods from the device interface */
+ DEVMETHOD(device_probe, foo_probe),
+ DEVMETHOD(device_attach, foo_attach),
+ DEVMETHOD(device_detach, foo_detach),
+
+ /* Methods from the bogo interface */
+ DEVMETHOD(bogo_frob, foo_frob),
+ DEVMETHOD(bogo_twiddle, foo_twiddle),
+
+ /* Terminate method list */
+ { 0, 0 }
+};
+
+static driver_t foo_driver {
+ "foo",
+ foo_methods,
+ DRIVER_TYPE_MISC,
+ sizeof(struct foo_softc),
+};
+
+static devclass_t foo_devclass;
+
+DRIVER_MODULE(foo, bogo, foo_driver, foo_devclass, 0, 0);
+.Ed
+.Sh DESCRIPTION
+Each driver in the kernel is described by a
+.Dv driver_t
+structure. The structure contains the name of the device, a pointer
+to a list of methods, an indication of the kind of device which the
+driver implements and the size of the private data which the driver
+needs to associate with a device instance. Each driver will implement
+one or more sets of methods (called interfaces). The example driver
+implements the standard "driver" interface and the fictitious "bogo"
+interface.
+.Pp
+When a driver is registered with the system (by the
+.Dv DRIVER_MODULE
+macro), it is added to the list of drivers contained in the devclass
+of its parent bus type. For instance all PCI drivers would be
+contained in the devclass named "pci" and all ISA drivers would be
+in the devclass named "isa".
+The reason the drivers are not held in the device object of the parent
+bus is to handle multiple instances of a given type of bus.
+The
+.Dv DRIVER_MODULE
+macro will also create the devclass with the name of the driver and
+can optionally call extra initialisation code in the driver by
+specifying an extra module event handler and argument as the last two
+arguments.
+.Sh SEE ALSO
+.Xr device 9 ,
+.Xr devclass 9
+.Sh AUTHORS
+This man page was written by
+.An Doug Rabson .
OpenPOWER on IntegriCloud