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.mo...@ideasonboard.com>
---
 drivers/media/platform/nvidia/tegra-vde/v4l2.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/drivers/media/platform/nvidia/tegra-vde/v4l2.c 
b/drivers/media/platform/nvidia/tegra-vde/v4l2.c
index 
0c50f4ff82e0a8f4935325d00691c58072182926..d94978ae2baf3394206ad7c3eb7a400aeee47cf7
 100644
--- a/drivers/media/platform/nvidia/tegra-vde/v4l2.c
+++ b/drivers/media/platform/nvidia/tegra-vde/v4l2.c
@@ -46,9 +46,9 @@ static const struct v4l2_ctrl_config ctrl_cfgs[] = {
        },
 };
 
-static inline struct tegra_ctx *fh_to_tegra_ctx(struct v4l2_fh *fh)
+static inline struct tegra_ctx *file_to_tegra_ctx(struct file *file)
 {
-       return container_of(fh, struct tegra_ctx, fh);
+       return container_of(file_to_v4l2_fh(file), struct tegra_ctx, fh);
 }
 
 static void tegra_set_control_data(struct tegra_ctx *ctx, void *data, u32 id)
@@ -506,7 +506,7 @@ static int tegra_querycap(struct file *file, void *priv,
 static int tegra_enum_decoded_fmt(struct file *file, void *priv,
                                  struct v4l2_fmtdesc *f)
 {
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
 
        if (WARN_ON(!ctx->coded_fmt_desc))
                return -EINVAL;
@@ -522,7 +522,7 @@ static int tegra_enum_decoded_fmt(struct file *file, void 
*priv,
 static int tegra_g_decoded_fmt(struct file *file, void *priv,
                               struct v4l2_format *f)
 {
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
 
        *f = ctx->decoded_fmt;
        return 0;
@@ -531,8 +531,8 @@ static int tegra_g_decoded_fmt(struct file *file, void 
*priv,
 static int tegra_try_decoded_fmt(struct file *file, void *priv,
                                 struct v4l2_format *f)
 {
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
        struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
        const struct tegra_coded_fmt_desc *coded_desc;
        unsigned int i;
 
@@ -571,7 +571,7 @@ static int tegra_try_decoded_fmt(struct file *file, void 
*priv,
 static int tegra_s_decoded_fmt(struct file *file, void *priv,
                               struct v4l2_format *f)
 {
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
        struct vb2_queue *vq;
        int err;
 
@@ -593,7 +593,7 @@ static int tegra_s_decoded_fmt(struct file *file, void 
*priv,
 static int tegra_enum_coded_fmt(struct file *file, void *priv,
                                struct v4l2_fmtdesc *f)
 {
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
        const struct tegra_vde_soc *soc = ctx->vde->soc;
 
        if (f->index >= soc->num_coded_fmts)
@@ -607,7 +607,7 @@ static int tegra_enum_coded_fmt(struct file *file, void 
*priv,
 static int tegra_g_coded_fmt(struct file *file, void *priv,
                             struct v4l2_format *f)
 {
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
 
        *f = ctx->coded_fmt;
        return 0;
@@ -631,7 +631,7 @@ static int tegra_try_coded_fmt(struct file *file, void 
*priv,
                               struct v4l2_format *f)
 {
        struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
        const struct tegra_vde_soc *soc = ctx->vde->soc;
        int size = pix_mp->plane_fmt[0].sizeimage;
        const struct tegra_coded_fmt_desc *desc;
@@ -656,7 +656,7 @@ static int tegra_try_coded_fmt(struct file *file, void 
*priv,
 static int tegra_s_coded_fmt(struct file *file, void *priv,
                             struct v4l2_format *f)
 {
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
        struct v4l2_m2m_ctx *m2m_ctx = ctx->fh.m2m_ctx;
        const struct tegra_coded_fmt_desc *desc;
        struct vb2_queue *peer_vq, *vq;
@@ -718,7 +718,7 @@ static int tegra_s_coded_fmt(struct file *file, void *priv,
 static int tegra_enum_framesizes(struct file *file, void *priv,
                                 struct v4l2_frmsizeenum *fsize)
 {
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(priv);
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
        const struct tegra_coded_fmt_desc *fmt;
 
        if (fsize->index)
@@ -852,8 +852,8 @@ static int tegra_open(struct file *file)
 
 static int tegra_release(struct file *file)
 {
+       struct tegra_ctx *ctx = file_to_tegra_ctx(file);
        struct v4l2_fh *fh = file_to_v4l2_fh(file);
-       struct tegra_ctx *ctx = fh_to_tegra_ctx(fh);
        struct tegra_vde *vde = ctx->vde;
 
        v4l2_fh_del(fh, file);

-- 
2.49.0



_______________________________________________
Mjpeg-users mailing list
Mjpeg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to