media: v4l2-core: Enable VIDIOC_DQBUF ioctl functionality

Enable VIDIOC_DQBUF ioctl functionality for radio driver.

CRs-Fixed: 2554907
Change-Id: Id1e436b038d0077c8e6b1980f13dc5f6ec64bad6
Signed-off-by: himta ram <hram@codeaurora.org>
This commit is contained in:
himta ram 2019-10-29 14:16:06 +05:30
commit 165e5f7a60
4 changed files with 14 additions and 1 deletions

View file

@ -508,7 +508,7 @@ endif # V4L_RADIO_ISA_DRIVERS
config I2C_RTC6226_QCA
tristate "Richwave RTC6226 FM Radio Receiver support with I2C for QCA"
depends on I2C && VIDEO_V4L2
depends on I2C && VIDEO_V4L2 && QGKI
---help---
This is a driver for I2C devices with the Richwave RTC6226
chip.

View file

@ -728,6 +728,9 @@ static void determine_valid_ioctls(struct video_device *vdev)
SET_VALID_IOCTL(ops, VIDIOC_ENUM_DV_TIMINGS, vidioc_enum_dv_timings);
SET_VALID_IOCTL(ops, VIDIOC_DV_TIMINGS_CAP, vidioc_dv_timings_cap);
SET_VALID_IOCTL(ops, VIDIOC_G_EDID, vidioc_g_edid);
} else {
/* ioctls valid for radio */
SET_VALID_IOCTL(ops, VIDIOC_DQBUF, vidioc_dqbuf);
}
if (is_tx && (is_radio || is_sdr)) {
/* radio transmitter only ioctls */

View file

@ -1003,6 +1003,12 @@ static int check_fmt(struct file *file, enum v4l2_buf_type type)
if (is_vid && is_tx && ops->vidioc_g_fmt_meta_out)
return 0;
break;
#ifdef CONFIG_I2C_RTC6226_QCA
case V4L2_BUF_TYPE_PRIVATE:
if (ops->vidioc_g_fmt_type_private)
return 0;
break;
#endif
default:
break;
}

View file

@ -345,6 +345,10 @@ struct v4l2_ioctl_ops {
struct v4l2_format *f);
int (*vidioc_g_fmt_meta_out)(struct file *file, void *fh,
struct v4l2_format *f);
#ifdef CONFIG_I2C_RTC6226_QCA
int (*vidioc_g_fmt_type_private)(struct file *file, void *fh,
struct v4l2_format *f);
#endif
/* VIDIOC_S_FMT handlers */
int (*vidioc_s_fmt_vid_cap)(struct file *file, void *fh,