diff options
Diffstat (limited to 'drivers/usb/gadget/omap_udc.c')
| -rw-r--r-- | drivers/usb/gadget/omap_udc.c | 21 | 
1 files changed, 4 insertions, 17 deletions
diff --git a/drivers/usb/gadget/omap_udc.c b/drivers/usb/gadget/omap_udc.c index f8445653577..b8ed74a823c 100644 --- a/drivers/usb/gadget/omap_udc.c +++ b/drivers/usb/gadget/omap_udc.c @@ -2067,7 +2067,6 @@ static int omap_udc_start(struct usb_gadget *g,  	/* hook up the driver */  	driver->driver.bus = NULL;  	udc->driver = driver; -	udc->gadget.dev.driver = &driver->driver;  	spin_unlock_irqrestore(&udc->lock, flags);  	if (udc->dc_clk != NULL) @@ -2083,7 +2082,6 @@ static int omap_udc_start(struct usb_gadget *g,  			ERR("can't bind to transceiver\n");  			if (driver->unbind) {  				driver->unbind(&udc->gadget); -				udc->gadget.dev.driver = NULL;  				udc->driver = NULL;  			}  			goto done; @@ -2129,7 +2127,6 @@ static int omap_udc_stop(struct usb_gadget *g,  	udc_quiesce(udc);  	spin_unlock_irqrestore(&udc->lock, flags); -	udc->gadget.dev.driver = NULL;  	udc->driver = NULL;  	if (udc->dc_clk != NULL) @@ -2631,14 +2628,6 @@ omap_udc_setup(struct platform_device *odev, struct usb_phy *xceiv)  	udc->gadget.speed = USB_SPEED_UNKNOWN;  	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; -	if (use_dma) -		udc->gadget.dev.dma_mask = odev->dev.dma_mask; -  	udc->transceiver = xceiv;  	/* ep0 is special; put it right after the SETUP buffer */ @@ -2912,14 +2901,13 @@ bad_on_1710:  	}  	create_proc_file(); -	status = device_add(&udc->gadget.dev); +	status = usb_add_gadget_udc_release(&pdev->dev, &udc->gadget, +			omap_udc_release);  	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 +2978,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;  |