usb: gadget: goku_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>
This commit is contained in:
parent
fc84d2fbe7
commit
5637bf5b7a
|
@ -1716,8 +1716,6 @@ static void goku_remove(struct pci_dev *pdev)
|
||||||
pci_resource_len (pdev, 0));
|
pci_resource_len (pdev, 0));
|
||||||
if (dev->enabled)
|
if (dev->enabled)
|
||||||
pci_disable_device(pdev);
|
pci_disable_device(pdev);
|
||||||
if (dev->registered)
|
|
||||||
device_unregister(&dev->gadget.dev);
|
|
||||||
|
|
||||||
pci_set_drvdata(pdev, NULL);
|
pci_set_drvdata(pdev, NULL);
|
||||||
dev->regs = NULL;
|
dev->regs = NULL;
|
||||||
|
@ -1756,11 +1754,11 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
dev->gadget.max_speed = USB_SPEED_FULL;
|
dev->gadget.max_speed = USB_SPEED_FULL;
|
||||||
|
|
||||||
/* the "gadget" abstracts/virtualizes the controller */
|
/* the "gadget" abstracts/virtualizes the controller */
|
||||||
dev_set_name(&dev->gadget.dev, "gadget");
|
|
||||||
dev->gadget.dev.parent = &pdev->dev;
|
dev->gadget.dev.parent = &pdev->dev;
|
||||||
dev->gadget.dev.dma_mask = pdev->dev.dma_mask;
|
dev->gadget.dev.dma_mask = pdev->dev.dma_mask;
|
||||||
dev->gadget.dev.release = gadget_release;
|
dev->gadget.dev.release = gadget_release;
|
||||||
dev->gadget.name = driver_name;
|
dev->gadget.name = driver_name;
|
||||||
|
dev->gadget.register_my_device = true;
|
||||||
|
|
||||||
/* now all the pci goodies ... */
|
/* now all the pci goodies ... */
|
||||||
retval = pci_enable_device(pdev);
|
retval = pci_enable_device(pdev);
|
||||||
|
@ -1810,12 +1808,6 @@ static int goku_probe(struct pci_dev *pdev, const struct pci_device_id *id)
|
||||||
create_proc_read_entry(proc_node_name, 0, NULL, udc_proc_read, dev);
|
create_proc_read_entry(proc_node_name, 0, NULL, udc_proc_read, dev);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
retval = device_register(&dev->gadget.dev);
|
|
||||||
if (retval) {
|
|
||||||
put_device(&dev->gadget.dev);
|
|
||||||
goto err;
|
|
||||||
}
|
|
||||||
dev->registered = 1;
|
|
||||||
retval = usb_add_gadget_udc(&pdev->dev, &dev->gadget);
|
retval = usb_add_gadget_udc(&pdev->dev, &dev->gadget);
|
||||||
if (retval)
|
if (retval)
|
||||||
goto err;
|
goto err;
|
||||||
|
|
|
@ -250,8 +250,7 @@ struct goku_udc {
|
||||||
got_region:1,
|
got_region:1,
|
||||||
req_config:1,
|
req_config:1,
|
||||||
configured:1,
|
configured:1,
|
||||||
enabled:1,
|
enabled:1;
|
||||||
registered:1;
|
|
||||||
|
|
||||||
/* pci state used to access those endpoints */
|
/* pci state used to access those endpoints */
|
||||||
struct pci_dev *pdev;
|
struct pci_dev *pdev;
|
||||||
|
|
Loading…
Reference in New Issue