OSDN Git Service

usb: gadget: s3c2410_udc: let udc-core manage gadget->dev
authorFelipe Balbi <balbi@ti.com>
Thu, 24 Jan 2013 15:06:42 +0000 (17:06 +0200)
committerFelipe Balbi <balbi@ti.com>
Mon, 18 Mar 2013 09:16:52 +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/s3c2410_udc.c

index 08f8965..c413494 100644 (file)
@@ -1824,16 +1824,9 @@ static int s3c2410_udc_probe(struct platform_device *pdev)
                goto err_mem;
        }
 
-       device_initialize(&udc->gadget.dev);
        udc->gadget.dev.parent = &pdev->dev;
        udc->gadget.dev.dma_mask = pdev->dev.dma_mask;
-
-       /* Bind the driver */
-       retval = device_add(&udc->gadget.dev);
-       if (retval) {
-               dev_err(&udc->gadget.dev, "Error in device_add() : %d\n", retval);
-               goto err_device_add;
-       }
+       udc->gadget.register_my_device = true;
 
        the_controller = udc;
        platform_set_drvdata(pdev, udc);
@@ -1923,8 +1916,6 @@ err_gpio_claim:
 err_int:
        free_irq(IRQ_USBD, udc);
 err_map:
-       device_unregister(&udc->gadget.dev);
-err_device_add:
        iounmap(base_addr);
 err_mem:
        release_mem_region(rsrc_start, rsrc_len);
@@ -1946,7 +1937,6 @@ static int s3c2410_udc_remove(struct platform_device *pdev)
                return -EBUSY;
 
        usb_del_gadget_udc(&udc->gadget);
-       device_unregister(&udc->gadget.dev);
        debugfs_remove(udc->regs_info);
 
        if (udc_info && !udc_info->udc_command &&