Revert: d7022078269b93dc6ee613a0a8519ce2ebe4a726
Accidentally merged without proper testing.
Change-Id: Iea6c3f7cd383357ac657fd15fde08cbab86bf809
Signed-off-by: David Brown <davidb@codeaurora.org>
diff --git a/drivers/usb/gadget/msm72k_udc.c b/drivers/usb/gadget/msm72k_udc.c
index 42c48a5..ea62262 100644
--- a/drivers/usb/gadget/msm72k_udc.c
+++ b/drivers/usb/gadget/msm72k_udc.c
@@ -1453,10 +1453,7 @@
static int usb_free(struct usb_info *ui, int ret)
{
- if (ret)
- dev_dbg(&ui->pdev->dev, "usb_free(%d)\n", ret);
-
- usb_del_gadget_udc(&ui->gadget);
+ dev_dbg(&ui->pdev->dev, "usb_free(%d)\n", ret);
if (ui->xceiv)
otg_put_transceiver(ui->xceiv);
@@ -2388,11 +2385,6 @@
}
-static int msm72k_gadget_start(struct usb_gadget_driver *driver,
- int (*bind)(struct usb_gadget *));
-static int msm72k_gadget_stop(struct usb_gadget_driver *driver);
-
-
static const struct usb_gadget_ops msm72k_ops = {
.get_frame = msm72k_get_frame,
.vbus_session = msm72k_udc_vbus_session,
@@ -2400,8 +2392,6 @@
.pullup = msm72k_pullup,
.wakeup = msm72k_wakeup,
.set_selfpowered = msm72k_set_selfpowered,
- .start = msm72k_gadget_start,
- .stop = msm72k_gadget_stop,
};
static void usb_do_remote_wakeup(struct work_struct *w)
@@ -2595,10 +2585,6 @@
ui->gadget.is_otg = 1;
#endif
- retval = usb_add_gadget_udc(&pdev->dev, &ui->gadget);
- if (retval)
- return usb_free(ui, retval);
-
ui->sdev.name = DRIVER_NAME;
ui->sdev.print_name = print_switch_name;
ui->sdev.print_state = print_switch_state;
@@ -2643,7 +2629,7 @@
return 0;
}
-static int msm72k_gadget_start(struct usb_gadget_driver *driver,
+int usb_gadget_probe_driver(struct usb_gadget_driver *driver,
int (*bind)(struct usb_gadget *))
{
struct usb_info *ui = the_usb_info;
@@ -2729,8 +2715,9 @@
ui->gadget.dev.driver = NULL;
return retval;
}
+EXPORT_SYMBOL(usb_gadget_probe_driver);
-static int msm72k_gadget_stop(struct usb_gadget_driver *driver)
+int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
{
struct usb_info *dev = the_usb_info;
@@ -2767,6 +2754,7 @@
"unregistered gadget driver '%s'\n", driver->driver.name);
return 0;
}
+EXPORT_SYMBOL(usb_gadget_unregister_driver);
static int msm72k_udc_runtime_suspend(struct device *dev)