.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "USB_DRIVER_RELEASE_INTERFACE" "9" "09 October 2005" "" ""
.SH NAME
usb_driver_release_interface \- unbind a driver from an interface
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void usb_driver_release_interface (struct usb_driver * \fIdriver\fB, struct usb_interface * \fIiface\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIdriver\fB\fR
the driver to be unbound
.TP
\fB\fIiface\fB\fR
the interface from which it will be unbound
.SH "DESCRIPTION"
.PP
This can be used by drivers to release an interface without waiting
for their \fBdisconnect\fR methods to be called. In typical cases this
also causes the driver \fBdisconnect\fR method to be called.
.PP
This call is synchronous, and may not be used in an interrupt context.
Callers must own the device lock and the driver model's usb_bus_type.subsys
writelock. So driver \fBdisconnect\fR entries don't need extra locking,
but other call contexts may need to explicitly claim those locks.