|
@@ -1716,8 +1716,6 @@ static void goku_remove(struct pci_dev *pdev)
|
|
|
pci_resource_len (pdev, 0));
|
|
|
if (dev->enabled)
|
|
|
pci_disable_device(pdev);
|
|
|
- if (dev->registered)
|
|
|
- device_unregister(&dev->gadget.dev);
|
|
|
|
|
|
pci_set_drvdata(pdev, 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;
|
|
|
|
|
|
/* the "gadget" abstracts/virtualizes the controller */
|
|
|
- dev_set_name(&dev->gadget.dev, "gadget");
|
|
|
dev->gadget.dev.parent = &pdev->dev;
|
|
|
dev->gadget.dev.dma_mask = pdev->dev.dma_mask;
|
|
|
dev->gadget.dev.release = gadget_release;
|
|
|
dev->gadget.name = driver_name;
|
|
|
+ dev->gadget.register_my_device = true;
|
|
|
|
|
|
/* now all the pci goodies ... */
|
|
|
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);
|
|
|
#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);
|
|
|
if (retval)
|
|
|
goto err;
|