summaryrefslogtreecommitdiffstats
path: root/drivers/usb/dwc3
diff options
context:
space:
mode:
authorFelipe Balbi <balbi@ti.com>2013-01-24 14:56:26 +0200
committerFelipe Balbi <balbi@ti.com>2013-03-18 11:16:40 +0200
commit1e1930bd3d9c6174eba1e3ca4135fd25ea3ad59c (patch)
tree83129ede5383fc977ca344c0b07ec0939f07930f /drivers/usb/dwc3
parentf07bd56bbdaa2340ebf46af9a37e7b2d1b4578e3 (diff)
downloadtalos-obmc-linux-1e1930bd3d9c6174eba1e3ca4135fd25ea3ad59c.tar.gz
talos-obmc-linux-1e1930bd3d9c6174eba1e3ca4135fd25ea3ad59c.zip
usb: dwc3: gadget: let udc-core manage gadget->dev
We don't need to register that device ourselves if we simply set gadget->register_my_device. Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/dwc3')
-rw-r--r--drivers/usb/dwc3/gadget.c17
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 82e160e96fca..10bb161eec88 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -2488,8 +2488,6 @@ int dwc3_gadget_init(struct dwc3 *dwc)
goto err3;
}
- dev_set_name(&dwc->gadget.dev, "gadget");
-
dwc->gadget.ops = &dwc3_gadget_ops;
dwc->gadget.max_speed = USB_SPEED_SUPER;
dwc->gadget.speed = USB_SPEED_UNKNOWN;
@@ -2501,6 +2499,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
dwc->gadget.dev.dma_parms = dwc->dev->dma_parms;
dwc->gadget.dev.dma_mask = dwc->dev->dma_mask;
dwc->gadget.dev.release = dwc3_gadget_release;
+ dwc->gadget.register_my_device = true;
dwc->gadget.name = "dwc3-gadget";
/*
@@ -2544,24 +2543,14 @@ int dwc3_gadget_init(struct dwc3 *dwc)
dwc3_gadget_usb3_phy_suspend(dwc, false);
}
- ret = device_register(&dwc->gadget.dev);
- if (ret) {
- dev_err(dwc->dev, "failed to register gadget device\n");
- put_device(&dwc->gadget.dev);
- goto err6;
- }
-
ret = usb_add_gadget_udc(dwc->dev, &dwc->gadget);
if (ret) {
dev_err(dwc->dev, "failed to register udc\n");
- goto err7;
+ goto err6;
}
return 0;
-err7:
- device_unregister(&dwc->gadget.dev);
-
err6:
dwc3_writel(dwc->regs, DWC3_DEVTEN, 0x00);
free_irq(irq, dwc);
@@ -2610,6 +2599,4 @@ void dwc3_gadget_exit(struct dwc3 *dwc)
dma_free_coherent(dwc->dev, sizeof(*dwc->ctrl_req),
dwc->ctrl_req, dwc->ctrl_req_addr);
-
- device_unregister(&dwc->gadget.dev);
}
OpenPOWER on IntegriCloud