usb: musb: gadget: let udc-core manage gadget-dev
authorFelipe Balbi <balbi@ti.com>
Thu, 24 Jan 2013 13:03:59 +0000 (15:03 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 18 Mar 2013 09:16:40 +0000 (11:16 +0200)
By simply setting a flag, we can delete a little
boilerplate code.

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

index be18537c5f1407cca17b31f65965863c0fa47385..cadb750921e971575316157fce4d0227aeda5771 100644 (file)
@@ -1887,12 +1887,11 @@ int musb_gadget_setup(struct musb *musb)
        musb->g.speed = USB_SPEED_UNKNOWN;
 
        /* this "gadget" abstracts/virtualizes the controller */
-       dev_set_name(&musb->g.dev, "gadget");
        musb->g.dev.parent = musb->controller;
        musb->g.dev.dma_mask = musb->controller->dma_mask;
        musb->g.dev.release = musb_gadget_release;
        musb->g.name = musb_driver_name;
-
+       musb->g.register_my_device = true;
        musb->g.is_otg = 1;
 
        musb_g_init_endpoints(musb);
@@ -1900,11 +1899,6 @@ int musb_gadget_setup(struct musb *musb)
        musb->is_active = 0;
        musb_platform_try_idle(musb, 0);
 
-       status = device_register(&musb->g.dev);
-       if (status != 0) {
-               put_device(&musb->g.dev);
-               return status;
-       }
        status = usb_add_gadget_udc(musb->controller, &musb->g);
        if (status)
                goto err;
@@ -1919,8 +1913,6 @@ err:
 void musb_gadget_cleanup(struct musb *musb)
 {
        usb_del_gadget_udc(&musb->g);
-       if (musb->g.dev.parent)
-               device_unregister(&musb->g.dev);
 }
 
 /*