diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2013-02-15 08:55:41 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-03-25 15:10:22 -0300 |
commit | e8c26f45b1f7e57ecf297903158823ecaa32c513 (patch) | |
tree | 11ad059a08756f1d31e125cedcde0f8c4e832fb4 /drivers/media/usb/au0828/au0828-core.c | |
parent | a2cf96f929d54cb2c8041358053656bf76be2c34 (diff) | |
download | linux-e8c26f45b1f7e57ecf297903158823ecaa32c513.tar.bz2 |
[media] au0828: convert to the control framework
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Reviewed-by: Devin Heitmueller <dheitmueller@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/usb/au0828/au0828-core.c')
-rw-r--r-- | drivers/media/usb/au0828/au0828-core.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/media/usb/au0828/au0828-core.c b/drivers/media/usb/au0828/au0828-core.c index 1e6f40ef1c6b..ffd3bcba9c10 100644 --- a/drivers/media/usb/au0828/au0828-core.c +++ b/drivers/media/usb/au0828/au0828-core.c @@ -143,6 +143,7 @@ static void au0828_usb_disconnect(struct usb_interface *interface) au0828_i2c_unregister(dev); #ifdef CONFIG_VIDEO_AU0828_V4L2 + v4l2_ctrl_handler_free(&dev->v4l2_ctrl_hdl); v4l2_device_unregister(&dev->v4l2_dev); #endif @@ -205,12 +206,22 @@ static int au0828_usb_probe(struct usb_interface *interface, /* Create the v4l2_device */ retval = v4l2_device_register(&interface->dev, &dev->v4l2_dev); if (retval) { - printk(KERN_ERR "%s() v4l2_device_register failed\n", + pr_err("%s() v4l2_device_register failed\n", __func__); mutex_unlock(&dev->lock); kfree(dev); - return -EIO; + return retval; } + /* This control handler will inherit the controls from au8522 */ + retval = v4l2_ctrl_handler_init(&dev->v4l2_ctrl_hdl, 4); + if (retval) { + pr_err("%s() v4l2_ctrl_handler_init failed\n", + __func__); + mutex_unlock(&dev->lock); + kfree(dev); + return retval; + } + dev->v4l2_dev.ctrl_handler = &dev->v4l2_ctrl_hdl; #endif /* Power Up the bridge */ |