|
@@ -1700,9 +1700,13 @@ int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
|
|
if (!driver || driver != udc->driver || !driver->unbind)
|
|
if (!driver || driver != udc->driver || !driver->unbind)
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
|
|
- dprintk(DEBUG_NORMAL,"usb_gadget_register_driver() '%s'\n",
|
|
|
|
|
|
+ dprintk(DEBUG_NORMAL, "usb_gadget_unregister_driver() '%s'\n",
|
|
driver->driver.name);
|
|
driver->driver.name);
|
|
|
|
|
|
|
|
+ /* report disconnect */
|
|
|
|
+ if (driver->disconnect)
|
|
|
|
+ driver->disconnect(&udc->gadget);
|
|
|
|
+
|
|
driver->unbind(&udc->gadget);
|
|
driver->unbind(&udc->gadget);
|
|
|
|
|
|
device_del(&udc->gadget.dev);
|
|
device_del(&udc->gadget.dev);
|