On Sun Oct 26 20:08:29 2025 +0200, Laurent Pinchart wrote:
> The vbi_fops stored in struct saa7146_ext_vv is a full
> v4l2_file_operations, but only its .write field is used. Replace it with
> a single vbi_write function pointer to save memory.
> 
> Signed-off-by: Laurent Pinchart <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/common/saa7146/saa7146_fops.c | 4 ++--
 drivers/staging/media/av7110/av7110_v4l.c   | 4 ++--
 include/media/drv-intf/saa7146_vv.h         | 3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

---

diff --git a/drivers/media/common/saa7146/saa7146_fops.c 
b/drivers/media/common/saa7146/saa7146_fops.c
index 9d0362a75ecd..a9e3bad76d54 100644
--- a/drivers/media/common/saa7146/saa7146_fops.c
+++ b/drivers/media/common/saa7146/saa7146_fops.c
@@ -186,11 +186,11 @@ static ssize_t fops_write(struct file *file, const char 
__user *data, size_t cou
        struct saa7146_dev *dev = video_drvdata(file);
        int ret;
 
-       if (vdev->vfl_type != VFL_TYPE_VBI || !dev->ext_vv_data->vbi_fops.write)
+       if (vdev->vfl_type != VFL_TYPE_VBI || !dev->ext_vv_data->vbi_write)
                return -EINVAL;
        if (mutex_lock_interruptible(vdev->lock))
                return -ERESTARTSYS;
-       ret = dev->ext_vv_data->vbi_fops.write(file, data, count, ppos);
+       ret = dev->ext_vv_data->vbi_write(file, data, count, ppos);
        mutex_unlock(vdev->lock);
        return ret;
 }
diff --git a/drivers/staging/media/av7110/av7110_v4l.c 
b/drivers/staging/media/av7110/av7110_v4l.c
index 04e659243f02..200a7a29ea31 100644
--- a/drivers/staging/media/av7110/av7110_v4l.c
+++ b/drivers/staging/media/av7110/av7110_v4l.c
@@ -940,7 +940,7 @@ static struct saa7146_ext_vv av7110_vv_data_st = {
        .num_stds       = ARRAY_SIZE(standard),
        .std_callback   = &std_callback,
 
-       .vbi_fops.write = av7110_vbi_write,
+       .vbi_write      = av7110_vbi_write,
 };
 
 static struct saa7146_ext_vv av7110_vv_data_c = {
@@ -953,6 +953,6 @@ static struct saa7146_ext_vv av7110_vv_data_c = {
        .num_stds       = ARRAY_SIZE(standard),
        .std_callback   = &std_callback,
 
-       .vbi_fops.write = av7110_vbi_write,
+       .vbi_write      = av7110_vbi_write,
 };
 
diff --git a/include/media/drv-intf/saa7146_vv.h 
b/include/media/drv-intf/saa7146_vv.h
index 55c7d70b9feb..f66f4dfccf14 100644
--- a/include/media/drv-intf/saa7146_vv.h
+++ b/include/media/drv-intf/saa7146_vv.h
@@ -130,7 +130,8 @@ struct saa7146_ext_vv
        /* pointer to the saa7146 core ops */
        const struct v4l2_ioctl_ops *core_ops;
 
-       struct v4l2_file_operations vbi_fops;
+       ssize_t (*vbi_write)(struct file *file, const char __user *data,
+                            size_t count, loff_t *ppos);
 };
 
 struct saa7146_use_ops  {
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to