Loading drivers/media/radio/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -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. Loading drivers/media/v4l2-core/v4l2-dev.c +3 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading drivers/media/v4l2-core/v4l2-ioctl.c +6 −0 Original line number Diff line number Diff line Loading @@ -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; } Loading include/media/v4l2-ioctl.h +4 −0 Original line number Diff line number Diff line Loading @@ -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, Loading Loading
drivers/media/radio/Kconfig +1 −1 Original line number Diff line number Diff line Loading @@ -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. Loading
drivers/media/v4l2-core/v4l2-dev.c +3 −0 Original line number Diff line number Diff line Loading @@ -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 */ Loading
drivers/media/v4l2-core/v4l2-ioctl.c +6 −0 Original line number Diff line number Diff line Loading @@ -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; } Loading
include/media/v4l2-ioctl.h +4 −0 Original line number Diff line number Diff line Loading @@ -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, Loading