summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/mv_udc_core.c
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2013-01-24 14:43:47 (GMT)
committerFelipe Balbi <balbi@ti.com>2013-03-18 09:16:48 (GMT)
commit5dc7b773657d9e217eaacd51f74e9cea81260088 (patch)
treefc7ae5fb7925c30e542262022b46b8a4f1835d5a /drivers/usb/gadget/mv_udc_core.c
parent2cd807e7a8ee18d13fd06e84ef9f485a5c28a521 (diff)
downloadlinux-fsl-qoriq-5dc7b773657d9e217eaacd51f74e9cea81260088.tar.xz
usb: gadget: mv_udc_core: let udc-core manage gadget->dev
By simply setting a flag, we can drop some boilerplate code. Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget/mv_udc_core.c')
-rw-r--r--drivers/usb/gadget/mv_udc_core.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/usb/gadget/mv_udc_core.c b/drivers/usb/gadget/mv_udc_core.c
index c8cf959..a7afdfb 100644
--- a/drivers/usb/gadget/mv_udc_core.c
+++ b/drivers/usb/gadget/mv_udc_core.c
@@ -2138,8 +2138,6 @@ static int mv_udc_remove(struct platform_device *pdev)
mv_udc_disable(udc);
- device_unregister(&udc->gadget.dev);
-
/* free dev, wait for the release() finished */
wait_for_completion(udc->done);
@@ -2311,15 +2309,11 @@ static int mv_udc_probe(struct platform_device *pdev)
udc->gadget.max_speed = USB_SPEED_HIGH; /* support dual speed */
/* the "gadget" abstracts/virtualizes the controller */
- dev_set_name(&udc->gadget.dev, "gadget");
udc->gadget.dev.parent = &pdev->dev;
udc->gadget.dev.dma_mask = pdev->dev.dma_mask;
udc->gadget.dev.release = gadget_release;
udc->gadget.name = driver_name; /* gadget name */
-
- retval = device_register(&udc->gadget.dev);
- if (retval)
- goto err_destroy_dma;
+ udc->gadget.register_my_device = true;
eps_init(udc);
@@ -2342,7 +2336,7 @@ static int mv_udc_probe(struct platform_device *pdev)
if (!udc->qwork) {
dev_err(&pdev->dev, "cannot create workqueue\n");
retval = -ENOMEM;
- goto err_unregister;
+ goto err_destroy_dma;
}
INIT_WORK(&udc->vbus_work, mv_udc_vbus_work);
@@ -2370,8 +2364,6 @@ static int mv_udc_probe(struct platform_device *pdev)
err_create_workqueue:
destroy_workqueue(udc->qwork);
-err_unregister:
- device_unregister(&udc->gadget.dev);
err_destroy_dma:
dma_pool_destroy(udc->dtd_pool);
err_free_dma: