Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 280928
b: refs/heads/master
c: 103495a
h: refs/heads/master
v: v3
  • Loading branch information
Heiko Stübner authored and Felipe Balbi committed Dec 21, 2011
1 parent 1cf0113 commit 47d8dcb
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e9bcb9e5feb0f5d1ccf155b6ca9e1b8f7147f0d6
refs/heads/master: 103495aaf0e7674f6d7995982b48118188c247eb
17 changes: 8 additions & 9 deletions trunk/drivers/usb/gadget/s3c-hsudc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1156,11 +1156,6 @@ static int s3c_hsudc_start(struct usb_gadget_driver *driver,
hsudc->driver = driver;
hsudc->gadget.dev.driver = &driver->driver;
hsudc->gadget.speed = USB_SPEED_UNKNOWN;
ret = device_add(&hsudc->gadget.dev);
if (ret) {
dev_err(hsudc->dev, "failed to probe gadget device");
return ret;
}

ret = bind(&hsudc->gadget);
if (ret) {
Expand All @@ -1180,8 +1175,6 @@ static int s3c_hsudc_start(struct usb_gadget_driver *driver,
hsudc->gadget.name);
driver->unbind(&hsudc->gadget);

device_del(&hsudc->gadget.dev);

hsudc->driver = NULL;
hsudc->gadget.dev.driver = NULL;
return ret;
Expand Down Expand Up @@ -1222,7 +1215,6 @@ static int s3c_hsudc_stop(struct usb_gadget_driver *driver)
(void) otg_set_peripheral(hsudc->transceiver, NULL);

driver->unbind(&hsudc->gadget);
device_del(&hsudc->gadget.dev);
disable_irq(hsudc->irq);

dev_info(hsudc->dev, "unregistered gadget driver '%s'\n",
Expand Down Expand Up @@ -1307,7 +1299,6 @@ static int __devinit s3c_hsudc_probe(struct platform_device *pdev)

spin_lock_init(&hsudc->lock);

device_initialize(&hsudc->gadget.dev);
dev_set_name(&hsudc->gadget.dev, "gadget");

hsudc->gadget.max_speed = USB_SPEED_HIGH;
Expand Down Expand Up @@ -1348,12 +1339,20 @@ static int __devinit s3c_hsudc_probe(struct platform_device *pdev)
disable_irq(hsudc->irq);
local_irq_enable();

ret = device_register(&hsudc->gadget.dev);
if (ret) {
put_device(&hsudc->gadget.dev);
goto err_add_device;
}

ret = usb_add_gadget_udc(&pdev->dev, &hsudc->gadget);
if (ret)
goto err_add_udc;

return 0;
err_add_udc:
device_unregister(&hsudc->gadget.dev);
err_add_device:
clk_disable(hsudc->uclk);
clk_put(hsudc->uclk);
err_clk:
Expand Down

0 comments on commit 47d8dcb

Please sign in to comment.