]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: usb: hdpvr: Store v4l2_fh pointer in file->private_data
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Sun, 10 Aug 2025 01:29:46 +0000 (04:29 +0300)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Wed, 13 Aug 2025 06:33:20 +0000 (08:33 +0200)
Most V4L2 drivers store the v4l2_fh pointer in file->private_data. The
hdpvr driver instead stores the pointer to the driver-specific structure
that embeds the v4l2_fh. Switch to storing the v4l2_fh pointer itself to
standardize behaviour across drivers. This also prepares for future
refactoring that depends on v4l2_fh being stored in private_data.

No extensive driver refactoring is required, as file->private_data is
only used to check if a file handle is the owner of the device by
comparing pointer values. The private_data pointer is actually compared
to a struct v4l2_fh pointer, which happens to be the first field of the
hdpvr_fh structure.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/usb/hdpvr/hdpvr-video.c

index fd7d2a9d0449ab9ba68ddfa148a167797ea243fc..4c431bd9b50352ed1bd3da3e62625c9cff6c149d 100644 (file)
@@ -381,7 +381,7 @@ static int hdpvr_open(struct file *file)
        fh->legacy_mode = true;
        v4l2_fh_init(&fh->fh, video_devdata(file));
        v4l2_fh_add(&fh->fh);
-       file->private_data = fh;
+       file->private_data = &fh->fh;
        return 0;
 }