diff options
| author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2025-10-26 20:08:29 +0200 |
|---|---|---|
| committer | Hans Verkuil <hverkuil+cisco@kernel.org> | 2025-11-03 15:58:42 +0100 |
| commit | ba92a96b1e95a67cb736d095dceb788207b90a7b (patch) | |
| tree | dffc60bfe104dbf1b5f7dcc49eeb306bcd41e74a | |
| parent | bc22cd5e076f6b4e1fe727e0cf8339f746b3a696 (diff) | |
media: saa7146: Replace saa7146_ext_vv.vbi_fops with write function
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 <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
| -rw-r--r-- | drivers/media/common/saa7146/saa7146_fops.c | 4 | ||||
| -rw-r--r-- | drivers/staging/media/av7110/av7110_v4l.c | 4 | ||||
| -rw-r--r-- | 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 { |
