Provided by: linux-doc-2.6.15_2.6.15-23.39_all
usb_disconnect - disconnect a device (usbcore-internal)
void usb_disconnect (struct usb_device ** pdev);
pdev pointer to device being disconnected
Something got disconnected. Get rid of it and all of its children.
If *pdev is a normal device then the parent hub must already be locked.
If *pdev is a root hub then this routine will acquire the
usb_bus_list_lock on behalf of the caller.
Only hub drivers (including virtual root hub drivers for host
controllers) should ever call this.
This call is synchronous, and may not be used in an interrupt context.