aboutsummaryrefslogtreecommitdiff
path: root/lib/libdevctl/devctl.3
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libdevctl/devctl.3')
-rw-r--r--lib/libdevctl/devctl.329
1 files changed, 27 insertions, 2 deletions
diff --git a/lib/libdevctl/devctl.3 b/lib/libdevctl/devctl.3
index 7d8ddbaaab7e..866bb6a36cda 100644
--- a/lib/libdevctl/devctl.3
+++ b/lib/libdevctl/devctl.3
@@ -31,6 +31,7 @@
.Sh NAME
.Nm devctl ,
.Nm devctl_attach ,
+.Nm devctl_delete ,
.Nm devctl_detach ,
.Nm devctl_disable ,
.Nm devctl_enable ,
@@ -46,6 +47,8 @@
.Ft int
.Fn devctl_attach "const char *device"
.Ft int
+.Fn devctl_delete "const char *device" "bool force"
+.Ft int
.Fn devctl_detach "const char *device" "bool force"
.Ft int
.Fn devctl_disable "const char *device" "bool force_detach"
@@ -110,6 +113,15 @@ is true,
the current device driver will be detached even if the device is busy.
.Pp
The
+.Fn devctl_delete
+function deletes a device from the device tree.
+No
+If
+.Fa force
+is true,
+the device is deleted even if the device is physically present.
+.Pp
+The
.Fn devctl_disable
function disables a device.
If the device is currently attached to a device driver,
@@ -158,8 +170,8 @@ The
function rescans a bus device checking for devices that have been added or
removed.
.Sh RETURN VALUES
-.Rv -std devctl_attach devctl_detach devctl_disable devctl_enable \
-devctl_suspend devctl_rescan devctl_resume devctl_set_driver
+.Rv -std devctl_attach devctl_delete devctl_detach devctl_disable \
+devctl_enable devctl_suspend devctl_rescan devctl_resume devctl_set_driver
.Sh ERRORS
In addition to specific errors noted below,
all of the
@@ -298,6 +310,19 @@ The device is not attached to a driver.
.It Bq Er ENXIO
The bus driver does not support rescanning.
.El
+.Pp
+The
+.Fn devctl_delete
+function may fail if:
+.Bl -tag -width Er
+.It Bq Er EBUSY
+The device is physically present and
+.Fa force
+is false.
+.It Bq Er EINVAL
+.Fa dev
+is the root device of the device tree.
+.El
.Sh SEE ALSO
.Xr devinfo 3 ,
.Xr devstat 3 ,