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

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

index b66130c97269ec964011347da915abee66705162..2404d0c256683c52ca42fc8894fb5ba42a92f701 100644 (file)
@@ -1900,9 +1900,9 @@ static int __init usba_udc_probe(struct platform_device *pdev)
        dev_info(&pdev->dev, "FIFO at 0x%08lx mapped at %p\n",
                 (unsigned long)fifo->start, udc->fifo);
 
-       device_initialize(&udc->gadget.dev);
        udc->gadget.dev.parent = &pdev->dev;
        udc->gadget.dev.dma_mask = pdev->dev.dma_mask;
+       udc->gadget.register_my_device = true;
 
        platform_set_drvdata(pdev, udc);
 
@@ -1962,12 +1962,6 @@ static int __init usba_udc_probe(struct platform_device *pdev)
        }
        udc->irq = irq;
 
-       ret = device_add(&udc->gadget.dev);
-       if (ret) {
-               dev_dbg(&pdev->dev, "Could not add gadget: %d\n", ret);
-               goto err_device_add;
-       }
-
        if (gpio_is_valid(pdata->vbus_pin)) {
                if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
                        udc->vbus_pin = pdata->vbus_pin;
@@ -2007,9 +2001,6 @@ err_add_udc:
                gpio_free(udc->vbus_pin);
        }
 
-       device_unregister(&udc->gadget.dev);
-
-err_device_add:
        free_irq(irq, udc);
 err_request_irq:
        kfree(usba_ep);
@@ -2053,8 +2044,6 @@ static int __exit usba_udc_remove(struct platform_device *pdev)
        clk_put(udc->hclk);
        clk_put(udc->pclk);
 
-       device_unregister(&udc->gadget.dev);
-
        return 0;
 }