usb: gadget: omap_udc: let udc-core manage gadget->dev
authorFelipe Balbi <balbi@ti.com>
Thu, 24 Jan 2013 13:07:29 +0000 (15:07 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 18 Mar 2013 09:16:41 +0000 (11:16 +0200)
By simply setting a flag, we drop some boilerplate
code.

Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/omap_udc.c

index f8445653577fbb107256576fec5481b4b94f758f..c979272e7c866cccb137f813b607864d852bfeae 100644 (file)
@@ -2632,10 +2632,9 @@ omap_udc_setup(struct platform_device *odev, struct usb_phy *xceiv)
        udc->gadget.max_speed = USB_SPEED_FULL;
        udc->gadget.name = driver_name;
 
-       device_initialize(&udc->gadget.dev);
-       dev_set_name(&udc->gadget.dev, "gadget");
        udc->gadget.dev.release = omap_udc_release;
        udc->gadget.dev.parent = &odev->dev;
+       udc->gadget.register_my_device = true;
        if (use_dma)
                udc->gadget.dev.dma_mask = odev->dev.dma_mask;
 
@@ -2912,14 +2911,12 @@ bad_on_1710:
        }
 
        create_proc_file();
-       status = device_add(&udc->gadget.dev);
+       status = usb_add_gadget_udc(&pdev->dev, &udc->gadget);
        if (status)
                goto cleanup4;
 
-       status = usb_add_gadget_udc(&pdev->dev, &udc->gadget);
-       if (!status)
-               return status;
-       /* If fail, fall through */
+       return 0;
+
 cleanup4:
        remove_proc_file();
 
@@ -2990,7 +2987,6 @@ static int omap_udc_remove(struct platform_device *pdev)
        release_mem_region(pdev->resource[0].start,
                        pdev->resource[0].end - pdev->resource[0].start + 1);
 
-       device_unregister(&udc->gadget.dev);
        wait_for_completion(&done);
 
        return 0;