usb: gadget: udc: s3c-hsudc: do not rely on 'driver' argument
authorFelipe Balbi <balbi@ti.com>
Fri, 17 Oct 2014 16:25:50 +0000 (11:25 -0500)
committerFelipe Balbi <balbi@ti.com>
Mon, 3 Nov 2014 16:01:11 +0000 (10:01 -0600)
future patches will remove the extra 'driver'
argument to ->udc_stop(), in order to do that,
we must make sure that our UDC does not rely
on it first.

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

index f658f69567bd74c0aeca1c02caf594ca5536d02a..f3bb2fa25115d8570962a95c3c0fad566e7f5077 100644 (file)
@@ -1199,11 +1199,7 @@ static int s3c_hsudc_stop(struct usb_gadget *gadget,
        if (!hsudc)
                return -ENODEV;
 
-       if (!driver || driver != hsudc->driver)
-               return -EINVAL;
-
        spin_lock_irqsave(&hsudc->lock, flags);
-       hsudc->driver = NULL;
        hsudc->gadget.speed = USB_SPEED_UNKNOWN;
        s3c_hsudc_uninit_phy();
 
@@ -1222,7 +1218,9 @@ static int s3c_hsudc_stop(struct usb_gadget *gadget,
        regulator_bulk_disable(ARRAY_SIZE(hsudc->supplies), hsudc->supplies);
 
        dev_info(hsudc->dev, "unregistered gadget driver '%s'\n",
-                       driver->driver.name);
+                       hsudc->driver->driver.name);
+       hsudc->driver = NULL;
+
        return 0;
 }