Commit e0c9e473 authored by Felipe Balbi's avatar Felipe Balbi

usb: gadget: lpc32xx_udc: let udc-core manage gadget->dev

By simply setting a flag, we can drop some
boilerplate code.
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 0b3702c6
...@@ -3090,6 +3090,7 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev) ...@@ -3090,6 +3090,7 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev)
/* init software state */ /* init software state */
udc->gadget.dev.parent = dev; udc->gadget.dev.parent = dev;
udc->gadget.register_my_device = true;
udc->pdev = pdev; udc->pdev = pdev;
udc->dev = &pdev->dev; udc->dev = &pdev->dev;
udc->enabled = 0; udc->enabled = 0;
...@@ -3248,12 +3249,6 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev) ...@@ -3248,12 +3249,6 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev)
udc_disable(udc); udc_disable(udc);
udc_reinit(udc); udc_reinit(udc);
retval = device_register(&udc->gadget.dev);
if (retval < 0) {
dev_err(udc->dev, "Device registration failure\n");
goto dev_register_fail;
}
/* Request IRQs - low and high priority USB device IRQs are routed to /* Request IRQs - low and high priority USB device IRQs are routed to
* the same handler, while the DMA interrupt is routed elsewhere */ * the same handler, while the DMA interrupt is routed elsewhere */
retval = request_irq(udc->udp_irq[IRQ_USB_LP], lpc32xx_usb_lp_irq, retval = request_irq(udc->udp_irq[IRQ_USB_LP], lpc32xx_usb_lp_irq,
...@@ -3320,8 +3315,6 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev) ...@@ -3320,8 +3315,6 @@ static int __init lpc32xx_udc_probe(struct platform_device *pdev)
irq_hp_fail: irq_hp_fail:
free_irq(udc->udp_irq[IRQ_USB_LP], udc); free_irq(udc->udp_irq[IRQ_USB_LP], udc);
irq_lp_fail: irq_lp_fail:
device_unregister(&udc->gadget.dev);
dev_register_fail:
dma_pool_destroy(udc->dd_cache); dma_pool_destroy(udc->dd_cache);
dma_alloc_fail: dma_alloc_fail:
dma_free_coherent(&pdev->dev, UDCA_BUFF_SIZE, dma_free_coherent(&pdev->dev, UDCA_BUFF_SIZE,
...@@ -3376,8 +3369,6 @@ static int lpc32xx_udc_remove(struct platform_device *pdev) ...@@ -3376,8 +3369,6 @@ static int lpc32xx_udc_remove(struct platform_device *pdev)
free_irq(udc->udp_irq[IRQ_USB_HP], udc); free_irq(udc->udp_irq[IRQ_USB_HP], udc);
free_irq(udc->udp_irq[IRQ_USB_LP], udc); free_irq(udc->udp_irq[IRQ_USB_LP], udc);
device_unregister(&udc->gadget.dev);
clk_disable(udc->usb_otg_clk); clk_disable(udc->usb_otg_clk);
clk_put(udc->usb_otg_clk); clk_put(udc->usb_otg_clk);
clk_disable(udc->usb_slv_clk); clk_disable(udc->usb_slv_clk);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment