On Sun, Aug 07, 2016 at 10:50:49PM -0600, Theo de Raadt wrote: > Your diff also contained: > > -.Fn config_detach "struct device *dev" "int flags" > +.Fn config_detach "struct device *dev"
Argh! I had initially given config_deactivate() a flags parameter, realized it lacked one in the code, and must have also accidently removed it from _detach() accidently. Patch below removes this error. Page also uploaded for convenience: http://ce.gl/config_attach.9.txt > I think you are reading NetBSD? I have not used nor even tried any other BSDs. Index: config_attach.9 =================================================================== RCS file: /cvs/src/share/man/man9/config_attach.9,v retrieving revision 1.3 diff -u -p -r1.3 config_attach.9 --- config_attach.9 5 Dec 2014 16:55:53 -0000 1.3 +++ config_attach.9 8 Aug 2016 05:31:34 -0000 @@ -34,7 +34,8 @@ .Sh NAME .Nm config_attach , .Nm config_detach , -.Nm config_detach_children +.Nm config_detach_children , +.Nm config_deactivate .Nd attach and detach devices .Sh SYNOPSIS .In sys/param.h @@ -46,6 +47,8 @@ .Fn config_detach "struct device *dev" "int flags" .Ft "int" .Fn config_detach_children "struct device *parent" "int flags" +.Ft "int" +.Fn config_deactivate "struct device *dev" .Sh DESCRIPTION The .Fn config_attach @@ -71,6 +74,21 @@ contains detachment flags: #define DETACH_FORCE 0x01 /* Force detachment; hardware gone */ #define DETACH_QUIET 0x02 /* Don't print a notice */ .Ed +.Pp +The +.Fn config_deactivate +function is called by the parent to change the child device's operational state +by calling the driver's activate function with a +.Fa flags +argument describing the targeted operational state: +.Bd -literal +#define DVACT_DEACTIVATE 1 /* deactivate the device */ +#define DVACT_QUIESCE 2 /* warn the device about suspend */ +#define DVACT_SUSPEND 3 /* suspend the device */ +#define DVACT_RESUME 4 /* resume the device */ +#define DVACT_WAKEUP 5 /* tell device to recover after resume */ +#define DVACT_POWERDOWN 6 /* power device down */ +.Ed .Sh CONTEXT .Fn config_detach is always called from process context, allowing @@ -79,6 +97,8 @@ to be called while the device detaches i which have a device open). .Sh RETURN VALUES .Fn config_detach -returns zero if successful and an error code otherwise. +and +.Fn config_deactivate +return zero if successful and an error code otherwise. .Sh SEE ALSO .Xr config_found 9