From: mpi Date: Sun, 13 Jul 2014 09:28:06 +0000 (+0000) Subject: Split config_attach/detach(9) from autoconf(9). Stop talking about X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=c45c5a4e5a1efbf423dca8387a472322a537ab7c;p=openbsd Split config_attach/detach(9) from autoconf(9). Stop talking about config_deactivate(9), it should die. Mention config_detach_children(9). Use CONTEXT and RETURN VALUES sections --- diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index e2a761d1faf..2673b85f119 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.214 2014/07/10 19:33:16 matthew Exp $ +# $OpenBSD: Makefile,v 1.215 2014/07/13 09:28:06 mpi Exp $ # $NetBSD: Makefile,v 1.4 1996/01/09 03:23:01 thorpej Exp $ # Makefile for section 9 (kernel function and variable) manual pages. @@ -8,7 +8,7 @@ MAN= aml_evalnode.9 atomic_add_int.9 atomic_cas_uint.9 \ atomic_sub_int.9 atomic_swap_uint.9 \ audio.9 autoconf.9 \ bemtoh32.9 bio_register.9 boot.9 buffercache.9 bus_dma.9 bus_space.9 \ - copy.9 crypto.9 delay.9 \ + copy.9 config_attach.9 crypto.9 delay.9 \ disk.9 disklabel.9 dma_alloc.9 dohooks.9 dopowerhooks.9 \ domountroothooks.9 doshutdownhooks.9 dostartuphooks.9 \ evcount.9 extent.9 fb_setup.9 file.9 fork1.9 \ @@ -59,8 +59,6 @@ MLINKS+=atomic_swap_uint.9 atomic_swap_ulong.9 \ MLINKS+=autoconf.9 config_init.9 autoconf.9 config_search.9 \ autoconf.9 config_rootsearch.9 autoconf.9 config_found_sm.9 \ autoconf.9 config_found.9 autoconf.9 config_rootfound.9 \ - autoconf.9 config_attach.9 autoconf.9 config_detach.9 \ - autoconf.9 config_activate.9 autoconf.9 config_deactivate.9 \ autoconf.9 config_defer.9 MLINKS+=bemtoh32.9 bemtoh16.9 bemtoh32.9 bemtoh64.9 \ bemtoh32.9 htobem16.9 bemtoh32.9 htobem32.9 bemtoh32.9 htobem64.9 \ @@ -133,6 +131,7 @@ MLINKS+=bus_space.9 bus_space_alloc.9 bus_space.9 bus_space_barrier.9 \ bus_space.9 bus_space_write_raw_region_2.9 \ bus_space.9 bus_space_write_raw_region_4.9 \ bus_space.9 bus_space_write_raw_region_8.9 +MLINKS+=config_attach.9 config_detach.9 config_attach.9 config_detach_children.9 MLINKS+=copy.9 copyin.9 copy.9 copyout.9 copy.9 copystr.9 \ copy.9 copyinstr.9 copy.9 copyoutstr.9 \ copy.9 kcopy.9 diff --git a/share/man/man9/autoconf.9 b/share/man/man9/autoconf.9 index 63940106b79..836e827c6b6 100644 --- a/share/man/man9/autoconf.9 +++ b/share/man/man9/autoconf.9 @@ -1,4 +1,4 @@ -.\" $OpenBSD: autoconf.9,v 1.12 2014/07/10 19:23:10 mpi Exp $ +.\" $OpenBSD: autoconf.9,v 1.13 2014/07/13 09:28:06 mpi Exp $ .\" $NetBSD: autoconf.9,v 1.9 2002/02/13 08:18:35 ross Exp $ .\" .\" Copyright (c) 2001 The NetBSD Foundation, Inc. @@ -28,7 +28,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: July 10 2014 $ +.Dd $Mdocdate: July 13 2014 $ .Dt AUTOCONF 9 .Os .Sh NAME @@ -242,65 +242,6 @@ function performs the same operation on the root device identified by the .Fa rootname string. -.Sh ATTACHING AND DETACHING DEVICES -.nr nS 1 -.Ft "struct device *" -.Fn config_attach "struct device *parent" "void *cf" "void *aux" \ - "cfprint_t print" -.Ft "int" -.Fn config_detach "struct device *dev" "int flags" -.nr nS 0 -.Pp -The -.Fn config_attach -function attaches a found device. -Memory is allocated for the -.Em softc -structure and the driver's attach function is called according to the -configuration table. -If successful, -.Fn config_attach -returns the -.Em softc . -If unsuccessful, it returns -.Dv NULL . -.Pp -The -.Fn config_detach -function is called by the parent to detach the child device. -The second argument -.Fa flags -contains detachment flags: -.Bd -literal -#define DETACH_FORCE 0x01 /* Force detachment; hardware gone */ -#define DETACH_QUIET 0x02 /* Don't print a notice */ -.Ed -.Pp -The -.Fn config_detach -function returns zero if successful and an error code otherwise. -.Fn config_detach -is always called from process context, allowing -.Xr tsleep 9 -to be called while the device detaches itself (to deal with processes -which have a device open). -.Sh DEVICE DEACTIVATION -.nr nS 1 -.Ft "int" -.Fn config_deactivate "struct device *dev" -.nr nS 0 -.Pp -The -.Fn config_deactivate -function is called by the parent to deactivate the child device -.Fa dev . -.Fn config_deactivate -is called from interrupt context to immediately relinquish resources -and notify dependent kernel subsystems that the device is about to be -detached. -At some later point, -.Fn config_detach -will be called to finalise the removal of the device. .Sh DEFERRED CONFIGURATION .nr nS 1 .Ft "void" @@ -323,11 +264,10 @@ Data structures and function prototypes for the framework are located in .Sh SEE ALSO .Xr autoconf 4 , .Xr files.conf 5 , -.Xr config 8 +.Xr config 8 , +.Xr config_attach 9 .Sh HISTORY Autoconfiguration first appeared in .Bx 4.1 . The autoconfiguration framework was completely revised in .Bx 4.4 . -The detach and activate/deactivate interfaces appeared in -.Nx 1.5 . diff --git a/share/man/man9/config_attach.9 b/share/man/man9/config_attach.9 new file mode 100644 index 00000000000..abfa6b31f2b --- /dev/null +++ b/share/man/man9/config_attach.9 @@ -0,0 +1,83 @@ +.\" $OpenBSD: config_attach.9,v 1.1 2014/07/13 09:28:06 mpi Exp $ +.\" $NetBSD: autoconf.9,v 1.9 2002/02/13 08:18:35 ross Exp $ +.\" +.\" Copyright (c) 2001 The NetBSD Foundation, Inc. +.\" All rights reserved. +.\" +.\" This code is derived from software contributed to The NetBSD Foundation +.\" by Gregory McGarry. +.\" +.\" 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 NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``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 FOUNDATION OR CONTRIBUTORS +.\" 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. +.\" +.Dd $Mdocdate: July 13 2014 $ +.Dt CONFIG_ATTACH 9 +.Os +.Sh NAME +.Nm config_attach, config_detach, config_detach_children +.Nd attach and detach devices +.Sh SYNOPSIS +.In sys/param.h +.In sys/device.h +.Ft "struct device *" +.Fn config_attach "struct device *parent" "void *cf" "void *aux" \ + "cfprint_t print" +.Ft "int" +.Fn config_detach "struct device *dev" "int flags" +.Ft "int" +.Fn config_detach_children "struct device *parent" "int flags" +.Sh DESCRIPTION +.Pp +The +.Fn config_attach +function attaches a found device. +Memory is allocated for the +.Em softc +structure and the driver's attach function is called according to the +configuration table. +If successful, +.Fn config_attach +returns the +.Em softc . +If unsuccessful, it returns +.Dv NULL . +.Pp +The +.Fn config_detach +function is called by the parent to detach the child device. +The second argument +.Fa flags +contains detachment flags: +.Bd -literal +#define DETACH_FORCE 0x01 /* Force detachment; hardware gone */ +#define DETACH_QUIET 0x02 /* Don't print a notice */ +.Ed +.Sh CONTEXT +.Fn config_detach +is always called from process context, allowing +.Xr tsleep 9 +to be called while the device detaches itself (to deal with processes +which have a device open). +.Sh RETURN VALUES +.Fn config_detach +returns zero if successful and an error code otherwise. +.Sh SEE ALSO +.Xr config_found 9