diff options
author | Antti Palosaari <crope@iki.fi> | 2015-10-10 12:51:00 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@osg.samsung.com> | 2015-10-20 13:40:50 -0400 |
commit | 9effc72fd71b6e8fd2676bcb57fac3f05ab93043 (patch) | |
tree | b39342339730a075de69d780fce77921df064d46 /drivers/media/v4l2-core/v4l2-dev.c | |
parent | b2411b93cdcb5cb154827b8fcd2f436dd0ddab73 (diff) |
[media] v4l2: add support for SDR transmitter
New IOCTL ops:
vidioc_enum_fmt_sdr_out
vidioc_g_fmt_sdr_out
vidioc_s_fmt_sdr_out
vidioc_try_fmt_sdr_out
New vb2 buffertype:
V4L2_BUF_TYPE_SDR_OUTPUT
New v4l2 capability:
V4L2_CAP_SDR_OUTPUT
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-dev.c')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-dev.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c index 71a1b93b0790..6b1eaeddbdb3 100644 --- a/drivers/media/v4l2-core/v4l2-dev.c +++ b/drivers/media/v4l2-core/v4l2-dev.c | |||
@@ -637,8 +637,8 @@ static void determine_valid_ioctls(struct video_device *vdev) | |||
637 | ops->vidioc_try_fmt_sliced_vbi_out))) | 637 | ops->vidioc_try_fmt_sliced_vbi_out))) |
638 | set_bit(_IOC_NR(VIDIOC_TRY_FMT), valid_ioctls); | 638 | set_bit(_IOC_NR(VIDIOC_TRY_FMT), valid_ioctls); |
639 | SET_VALID_IOCTL(ops, VIDIOC_G_SLICED_VBI_CAP, vidioc_g_sliced_vbi_cap); | 639 | SET_VALID_IOCTL(ops, VIDIOC_G_SLICED_VBI_CAP, vidioc_g_sliced_vbi_cap); |
640 | } else if (is_sdr) { | 640 | } else if (is_sdr && is_rx) { |
641 | /* SDR specific ioctls */ | 641 | /* SDR receiver specific ioctls */ |
642 | if (ops->vidioc_enum_fmt_sdr_cap) | 642 | if (ops->vidioc_enum_fmt_sdr_cap) |
643 | set_bit(_IOC_NR(VIDIOC_ENUM_FMT), valid_ioctls); | 643 | set_bit(_IOC_NR(VIDIOC_ENUM_FMT), valid_ioctls); |
644 | if (ops->vidioc_g_fmt_sdr_cap) | 644 | if (ops->vidioc_g_fmt_sdr_cap) |
@@ -647,6 +647,16 @@ static void determine_valid_ioctls(struct video_device *vdev) | |||
647 | set_bit(_IOC_NR(VIDIOC_S_FMT), valid_ioctls); | 647 | set_bit(_IOC_NR(VIDIOC_S_FMT), valid_ioctls); |
648 | if (ops->vidioc_try_fmt_sdr_cap) | 648 | if (ops->vidioc_try_fmt_sdr_cap) |
649 | set_bit(_IOC_NR(VIDIOC_TRY_FMT), valid_ioctls); | 649 | set_bit(_IOC_NR(VIDIOC_TRY_FMT), valid_ioctls); |
650 | } else if (is_sdr && is_tx) { | ||
651 | /* SDR transmitter specific ioctls */ | ||
652 | if (ops->vidioc_enum_fmt_sdr_out) | ||
653 | set_bit(_IOC_NR(VIDIOC_ENUM_FMT), valid_ioctls); | ||
654 | if (ops->vidioc_g_fmt_sdr_out) | ||
655 | set_bit(_IOC_NR(VIDIOC_G_FMT), valid_ioctls); | ||
656 | if (ops->vidioc_s_fmt_sdr_out) | ||
657 | set_bit(_IOC_NR(VIDIOC_S_FMT), valid_ioctls); | ||
658 | if (ops->vidioc_try_fmt_sdr_out) | ||
659 | set_bit(_IOC_NR(VIDIOC_TRY_FMT), valid_ioctls); | ||
650 | } | 660 | } |
651 | 661 | ||
652 | if (is_vid || is_vbi || is_sdr) { | 662 | if (is_vid || is_vbi || is_sdr) { |