usb_driver_release_interface (9) - Linux Man Pages
usb_driver_release_interface: unbind a driver from an interface
usb_driver_release_interface - unbind a driver from an interface
void usb_driver_release_interface(struct usb_driver
*driver, struct usb_interface *iface);
- the driver to be unbound
- the interface from which it will be unbound
This can be used by drivers to release an interface without waiting for their disconnect methods to be called. In typical cases this also causes the driver disconnect method to be called.
This call is synchronous, and may not be used in an interrupt context. Callers must own the device lock, so driver disconnect entries don't need extra locking, but other call contexts may need to explicitly claim that lock.