summaryrefslogtreecommitdiff
path: root/drivers/media/platform/vivid/vivid-core.c
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2015-04-24 11:16:22 -0300
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>2015-04-28 09:19:56 -0300
commit84b76d749b18a7badf4135deb160d66e4b2e2d57 (patch)
tree16f5d0f9994259b45cf93daeb3700f7d0e9cef81 /drivers/media/platform/vivid/vivid-core.c
parent1381fb3e01cb40e9ddbaf247af757847003d0e75 (diff)
[media] vivid-tpg: add tpg_log_status()
Add a log_status function to the test pattern generator and use that in vivid. This simplifies debugging complex colorspace problems. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Diffstat (limited to 'drivers/media/platform/vivid/vivid-core.c')
-rw-r--r--drivers/media/platform/vivid/vivid-core.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
index d33f16495dbc..d6caeeb5758d 100644
--- a/drivers/media/platform/vivid/vivid-core.c
+++ b/drivers/media/platform/vivid/vivid-core.c
@@ -392,6 +392,17 @@ static int vidioc_s_parm(struct file *file, void *fh,
return vivid_vid_out_g_parm(file, fh, parm);
}
+static int vidioc_log_status(struct file *file, void *fh)
+{
+ struct vivid_dev *dev = video_drvdata(file);
+ struct video_device *vdev = video_devdata(file);
+
+ v4l2_ctrl_log_status(file, fh);
+ if (vdev->vfl_dir == VFL_DIR_RX && vdev->vfl_type == VFL_TYPE_GRABBER)
+ tpg_log_status(&dev->tpg);
+ return 0;
+}
+
static ssize_t vivid_radio_read(struct file *file, char __user *buf,
size_t size, loff_t *offset)
{
@@ -610,7 +621,7 @@ static const struct v4l2_ioctl_ops vivid_ioctl_ops = {
.vidioc_g_edid = vidioc_g_edid,
.vidioc_s_edid = vidioc_s_edid,
- .vidioc_log_status = v4l2_ctrl_log_status,
+ .vidioc_log_status = vidioc_log_status,
.vidioc_subscribe_event = vidioc_subscribe_event,
.vidioc_unsubscribe_event = v4l2_event_unsubscribe,
};