From: Hans Verkuil Date: Fri, 7 Sep 2012 08:52:40 +0000 (-0300) Subject: [media] em28xx: convert to v4l2_fh, fix priority handling X-Git-Tag: next-20130218~80^2~2^2~28 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=69a61642ac60e84647394b4cf0f322579701d218;p=karo-tx-linux.git [media] em28xx: convert to v4l2_fh, fix priority handling Signed-off-by: Hans Verkuil Signed-off-by: Devin Heitmueller Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em28xx/em28xx-video.c index ebbf775fcaba..c67ff8d96d22 100644 --- a/drivers/media/usb/em28xx/em28xx-video.c +++ b/drivers/media/usb/em28xx/em28xx-video.c @@ -1735,6 +1735,7 @@ static int em28xx_v4l2_open(struct file *filp) mutex_unlock(&dev->lock); return -ENOMEM; } + v4l2_fh_init(&fh->fh, vdev); fh->dev = dev; fh->radio = radio; fh->type = fh_type; @@ -1774,6 +1775,7 @@ static int em28xx_v4l2_open(struct file *filp) V4L2_FIELD_SEQ_TB, sizeof(struct em28xx_buffer), fh, &dev->lock); mutex_unlock(&dev->lock); + v4l2_fh_add(&fh->fh); return errCode; } @@ -1867,6 +1869,8 @@ static int em28xx_v4l2_close(struct file *filp) "0 (error=%i)\n", errCode); } } + v4l2_fh_del(&fh->fh); + v4l2_fh_exit(&fh->fh); videobuf_mmap_free(&fh->vb_vidq); videobuf_mmap_free(&fh->vb_vbiq); @@ -2088,6 +2092,7 @@ static struct video_device *em28xx_vdev_init(struct em28xx *dev, vfd->release = video_device_release; vfd->debug = video_debug; vfd->lock = &dev->lock; + set_bit(V4L2_FL_USE_FH_PRIO, &vfd->flags); snprintf(vfd->name, sizeof(vfd->name), "%s %s", dev->name, type_name); diff --git a/drivers/media/usb/em28xx/em28xx.h b/drivers/media/usb/em28xx/em28xx.h index 707319eabe2d..7432be483c22 100644 --- a/drivers/media/usb/em28xx/em28xx.h +++ b/drivers/media/usb/em28xx/em28xx.h @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #if defined(CONFIG_VIDEO_EM28XX_DVB) || defined(CONFIG_VIDEO_EM28XX_DVB_MODULE) @@ -477,6 +478,7 @@ struct em28xx_audio { struct em28xx; struct em28xx_fh { + struct v4l2_fh fh; struct em28xx *dev; int radio; unsigned int resources;