]> www.infradead.org Git - users/hch/misc.git/commitdiff
media: mtk: mdp3: Access v4l2_fh from file
authorJacopo Mondi <jacopo.mondi@ideasonboard.com>
Sun, 10 Aug 2025 01:30:25 +0000 (04:30 +0300)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Wed, 13 Aug 2025 06:33:49 +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>
Co-developed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/mediatek/mdp3/mtk-mdp3-m2m.c

index e68ae19d71a9c39ff2aa24c7b059a57a3322ed15..9ef956b565a791429a477dc96567453cb189d817 100644 (file)
 #include <media/videobuf2-dma-contig.h>
 #include "mtk-mdp3-m2m.h"
 
-static inline struct mdp_m2m_ctx *fh_to_ctx(struct v4l2_fh *fh)
-{
-       return container_of(fh, struct mdp_m2m_ctx, fh);
-}
-
 static inline struct mdp_m2m_ctx *file_to_ctx(struct file *filp)
 {
-       return fh_to_ctx(file_to_v4l2_fh(filp));
+       return container_of(file_to_v4l2_fh(filp), struct mdp_m2m_ctx, fh);
 }
 
 static inline struct mdp_m2m_ctx *ctrl_to_ctx(struct v4l2_ctrl *ctrl)
@@ -290,7 +285,7 @@ static int mdp_m2m_querycap(struct file *file, void *fh,
 static int mdp_m2m_enum_fmt_mplane(struct file *file, void *fh,
                                   struct v4l2_fmtdesc *f)
 {
-       struct mdp_m2m_ctx *ctx = fh_to_ctx(fh);
+       struct mdp_m2m_ctx *ctx = file_to_ctx(file);
 
        return mdp_enum_fmt_mplane(ctx->mdp_dev, f);
 }
@@ -298,7 +293,7 @@ static int mdp_m2m_enum_fmt_mplane(struct file *file, void *fh,
 static int mdp_m2m_g_fmt_mplane(struct file *file, void *fh,
                                struct v4l2_format *f)
 {
-       struct mdp_m2m_ctx *ctx = fh_to_ctx(fh);
+       struct mdp_m2m_ctx *ctx = file_to_ctx(file);
        struct mdp_frame *frame;
        struct v4l2_pix_format_mplane *pix_mp;
 
@@ -316,7 +311,7 @@ static int mdp_m2m_g_fmt_mplane(struct file *file, void *fh,
 static int mdp_m2m_s_fmt_mplane(struct file *file, void *fh,
                                struct v4l2_format *f)
 {
-       struct mdp_m2m_ctx *ctx = fh_to_ctx(fh);
+       struct mdp_m2m_ctx *ctx = file_to_ctx(file);
        struct mdp_frame *frame = ctx_get_frame(ctx, f->type);
        struct mdp_frame *capture;
        const struct mdp_format *fmt;
@@ -359,7 +354,7 @@ static int mdp_m2m_s_fmt_mplane(struct file *file, void *fh,
 static int mdp_m2m_try_fmt_mplane(struct file *file, void *fh,
                                  struct v4l2_format *f)
 {
-       struct mdp_m2m_ctx *ctx = fh_to_ctx(fh);
+       struct mdp_m2m_ctx *ctx = file_to_ctx(file);
 
        if (!mdp_try_fmt_mplane(ctx->mdp_dev, f, &ctx->curr_param, ctx->id))
                return -EINVAL;
@@ -370,7 +365,7 @@ static int mdp_m2m_try_fmt_mplane(struct file *file, void *fh,
 static int mdp_m2m_g_selection(struct file *file, void *fh,
                               struct v4l2_selection *s)
 {
-       struct mdp_m2m_ctx *ctx = fh_to_ctx(fh);
+       struct mdp_m2m_ctx *ctx = file_to_ctx(file);
        struct mdp_frame *frame;
        bool valid = false;
 
@@ -422,7 +417,7 @@ static int mdp_m2m_g_selection(struct file *file, void *fh,
 static int mdp_m2m_s_selection(struct file *file, void *fh,
                               struct v4l2_selection *s)
 {
-       struct mdp_m2m_ctx *ctx = fh_to_ctx(fh);
+       struct mdp_m2m_ctx *ctx = file_to_ctx(file);
        struct mdp_frame *frame = ctx_get_frame(ctx, s->type);
        struct mdp_frame *capture;
        struct v4l2_rect r;