usb: gadget: f_uvc: use bind_deactivated flag
authorRobert Baldyga <r.baldyga@samsung.com>
Mon, 4 May 2015 12:55:14 +0000 (14:55 +0200)
committerFelipe Balbi <balbi@ti.com>
Wed, 29 Jul 2015 14:59:20 +0000 (09:59 -0500)
Use bind_deactivated flag instead of calling usb_function_deactivate()
in function bind().

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/gadget/function/f_uvc.c

index cf0df8fbba890130f427e748a98736a4eee3a6aa..743be34605dcbff26eaf066c80578fb5112e41cf 100644 (file)
@@ -733,12 +733,6 @@ uvc_function_bind(struct usb_configuration *c, struct usb_function *f)
        uvc->control_req->complete = uvc_function_ep0_complete;
        uvc->control_req->context = uvc;
 
-       /* Avoid letting this gadget enumerate until the userspace server is
-        * active.
-        */
-       if ((ret = usb_function_deactivate(f)) < 0)
-               goto error;
-
        if (v4l2_device_register(&cdev->gadget->dev, &uvc->v4l2_dev)) {
                printk(KERN_INFO "v4l2_device_register failed\n");
                goto error;
@@ -949,6 +943,7 @@ static struct usb_function *uvc_alloc(struct usb_function_instance *fi)
        uvc->func.disable = uvc_function_disable;
        uvc->func.setup = uvc_function_setup;
        uvc->func.free_func = uvc_free;
+       uvc->func.bind_deactivated = true;
 
        return &uvc->func;
 }