]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: s5p-g2d: Access v4l2_fh from file
authorJacopo Mondi <jacopo.mondi@ideasonboard.com>
Sun, 10 Aug 2025 01:30:37 +0000 (04:30 +0300)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Wed, 13 Aug 2025 06:33:52 +0000 (08:33 +0200)
The v4l2_fh associated with an open file handle is now guaranteed
to be available in file->private_data, initialised by v4l2_fh_add().

Access the v4l2_fh, and from there the driver-specific structure,
from the file * in all ioctl handlers.

Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/samsung/s5p-g2d/g2d.c

index 922262f61e7b53baf1b5840d35149bf5b4b2e7ad..55f5130156b7e8690bd0eb204630a730d9f84bd6 100644 (file)
@@ -307,7 +307,7 @@ static int vidioc_enum_fmt(struct file *file, void *prv, struct v4l2_fmtdesc *f)
 
 static int vidioc_g_fmt(struct file *file, void *prv, struct v4l2_format *f)
 {
-       struct g2d_ctx *ctx = prv;
+       struct g2d_ctx *ctx = file2ctx(file);
        struct vb2_queue *vq;
        struct g2d_frame *frm;
 
@@ -359,7 +359,7 @@ static int vidioc_try_fmt(struct file *file, void *prv, struct v4l2_format *f)
 
 static int vidioc_s_fmt(struct file *file, void *prv, struct v4l2_format *f)
 {
-       struct g2d_ctx *ctx = prv;
+       struct g2d_ctx *ctx = file2ctx(file);
        struct g2d_dev *dev = ctx->dev;
        struct vb2_queue *vq;
        struct g2d_frame *frm;
@@ -400,7 +400,7 @@ static int vidioc_s_fmt(struct file *file, void *prv, struct v4l2_format *f)
 static int vidioc_g_selection(struct file *file, void *prv,
                              struct v4l2_selection *s)
 {
-       struct g2d_ctx *ctx = prv;
+       struct g2d_ctx *ctx = file2ctx(file);
        struct g2d_frame *f;
 
        f = get_frame(ctx, s->type);
@@ -450,7 +450,7 @@ static int vidioc_g_selection(struct file *file, void *prv,
 static int vidioc_try_selection(struct file *file, void *prv,
                                const struct v4l2_selection *s)
 {
-       struct g2d_ctx *ctx = prv;
+       struct g2d_ctx *ctx = file2ctx(file);
        struct g2d_dev *dev = ctx->dev;
        struct g2d_frame *f;
 
@@ -478,7 +478,7 @@ static int vidioc_try_selection(struct file *file, void *prv,
 static int vidioc_s_selection(struct file *file, void *prv,
                              struct v4l2_selection *s)
 {
-       struct g2d_ctx *ctx = prv;
+       struct g2d_ctx *ctx = file2ctx(file);
        struct g2d_frame *f;
        int ret;