From: Laurent Pinchart Date: Sun, 10 Aug 2025 01:30:01 +0000 (+0300) Subject: media: camss: Replace .open() file operation with v4l2_fh_open() X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=caa5c3439af793a727a9dcb69b1fdec7ece66302;p=users%2Fhch%2Fmisc.git media: camss: Replace .open() file operation with v4l2_fh_open() The custom video_open() function in the camss driver open-codes the v4l2_fh_open() helper, with an additional mutex that protects the whole function. Given that the function does not modify any data guarded by the lock, there's no need for using the mutex and the function can be replaced by v4l2_fh_open(). Signed-off-by: Laurent Pinchart Signed-off-by: Hans Verkuil --- diff --git a/drivers/media/platform/qcom/camss/camss-video.c b/drivers/media/platform/qcom/camss/camss-video.c index 8d05802d1735..c5d02f9ebc6a 100644 --- a/drivers/media/platform/qcom/camss/camss-video.c +++ b/drivers/media/platform/qcom/camss/camss-video.c @@ -604,36 +604,6 @@ static const struct v4l2_ioctl_ops msm_vid_ioctl_ops = { * V4L2 file operations */ -static int video_open(struct file *file) -{ - struct video_device *vdev = video_devdata(file); - struct camss_video *video = video_drvdata(file); - struct v4l2_fh *vfh; - int ret; - - mutex_lock(&video->lock); - - vfh = kzalloc(sizeof(*vfh), GFP_KERNEL); - if (vfh == NULL) { - ret = -ENOMEM; - goto error_alloc; - } - - v4l2_fh_init(vfh, vdev); - v4l2_fh_add(vfh); - - file->private_data = vfh; - - mutex_unlock(&video->lock); - - return 0; - -error_alloc: - mutex_unlock(&video->lock); - - return ret; -} - static int video_release(struct file *file) { vb2_fop_release(file); @@ -646,7 +616,7 @@ static int video_release(struct file *file) static const struct v4l2_file_operations msm_vid_fops = { .owner = THIS_MODULE, .unlocked_ioctl = video_ioctl2, - .open = video_open, + .open = v4l2_fh_open, .release = video_release, .poll = vb2_fop_poll, .mmap = vb2_fop_mmap,