aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2013-01-24 09:22:57 -0500
committerFelipe Balbi <balbi@ti.com>2013-03-18 05:16:46 -0400
commit0b3702c62e41f3707cb8ba68bf46561597a6f0af (patch)
tree284fa5319d63734d8e6fefeebecc23b97baeed6e
parent5637bf5b7a91804fe0230dff70024df078786090 (diff)
usb: gadget: imx_udc: 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>
-rw-r--r--drivers/usb/gadget/imx_udc.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/usb/gadget/imx_udc.c b/drivers/usb/gadget/imx_udc.c
index 5bd930d779b9..435b20346ead 100644
--- a/drivers/usb/gadget/imx_udc.c
+++ b/drivers/usb/gadget/imx_udc.c
@@ -1461,15 +1461,10 @@ static int __init imx_udc_probe(struct platform_device *pdev)
1461 imx_usb->clk = clk; 1461 imx_usb->clk = clk;
1462 imx_usb->dev = &pdev->dev; 1462 imx_usb->dev = &pdev->dev;
1463 1463
1464 device_initialize(&imx_usb->gadget.dev); 1464 imx_usb->gadget.register_my_device = true;
1465
1466 imx_usb->gadget.dev.parent = &pdev->dev; 1465 imx_usb->gadget.dev.parent = &pdev->dev;
1467 imx_usb->gadget.dev.dma_mask = pdev->dev.dma_mask; 1466 imx_usb->gadget.dev.dma_mask = pdev->dev.dma_mask;
1468 1467
1469 ret = device_add(&imx_usb->gadget.dev);
1470 if (retval)
1471 goto fail4;
1472
1473 platform_set_drvdata(pdev, imx_usb); 1468 platform_set_drvdata(pdev, imx_usb);
1474 1469
1475 usb_init_data(imx_usb); 1470 usb_init_data(imx_usb);
@@ -1481,11 +1476,9 @@ static int __init imx_udc_probe(struct platform_device *pdev)
1481 1476
1482 ret = usb_add_gadget_udc(&pdev->dev, &imx_usb->gadget); 1477 ret = usb_add_gadget_udc(&pdev->dev, &imx_usb->gadget);
1483 if (ret) 1478 if (ret)
1484 goto fail5; 1479 goto fail4;
1485 1480
1486 return 0; 1481 return 0;
1487fail5:
1488 device_unregister(&imx_usb->gadget.dev);
1489fail4: 1482fail4:
1490 for (i = 0; i < IMX_USB_NB_EP + 1; i++) 1483 for (i = 0; i < IMX_USB_NB_EP + 1; i++)
1491 free_irq(imx_usb->usbd_int[i], imx_usb); 1484 free_irq(imx_usb->usbd_int[i], imx_usb);
@@ -1509,7 +1502,6 @@ static int __exit imx_udc_remove(struct platform_device *pdev)
1509 int i; 1502 int i;
1510 1503
1511 usb_del_gadget_udc(&imx_usb->gadget); 1504 usb_del_gadget_udc(&imx_usb->gadget);
1512 device_unregister(&imx_usb->gadget.dev);
1513 imx_udc_disable(imx_usb); 1505 imx_udc_disable(imx_usb);
1514 del_timer(&imx_usb->timer); 1506 del_timer(&imx_usb->timer);
1515 1507