From 1e76fd570a040e49cab39af526d399c79d44ad01 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Sun, 29 Mar 2009 11:12:27 +0000 Subject: Fix buglets in v4l1 compatibility layer From: Russell King The following patch fixes a few bugs I've noticed in the V4L1 compatibility layer: - VIDEO_MODE_AUTO for get/set input ioctls was not being handled - wrong V4L2 ioctl being used in v4l1_compat_select_tuner Signed-off-by: Russell King Signed-off-by: Mauro Carvalho Chehab --- linux/drivers/media/video/v4l1-compat.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'linux/drivers/media') diff --git a/linux/drivers/media/video/v4l1-compat.c b/linux/drivers/media/video/v4l1-compat.c index 4a4cb4c57..ee3991f2f 100644 --- a/linux/drivers/media/video/v4l1-compat.c +++ b/linux/drivers/media/video/v4l1-compat.c @@ -576,6 +576,8 @@ static noinline long v4l1_compat_get_input_info( chan->norm = VIDEO_MODE_NTSC; if (sid & V4L2_STD_SECAM) chan->norm = VIDEO_MODE_SECAM; + if (sid == V4L2_STD_ALL) + chan->norm = VIDEO_MODE_AUTO; } done: return err; @@ -602,6 +604,9 @@ static noinline long v4l1_compat_set_input( case VIDEO_MODE_SECAM: sid = V4L2_STD_SECAM; break; + case VIDEO_MODE_AUTO: + sid = V4L2_STD_ALL; + break; } if (0 != sid) { err = drv(file, VIDIOC_S_STD, &sid); @@ -805,9 +810,9 @@ static noinline long v4l1_compat_select_tuner( t.index = tun->tuner; - err = drv(file, VIDIOC_S_INPUT, &t); + err = drv(file, VIDIOC_S_TUNER, &t); if (err < 0) - dprintk("VIDIOCSTUNER / VIDIOC_S_INPUT: %ld\n", err); + dprintk("VIDIOCSTUNER / VIDIOC_S_TUNER: %ld\n", err); return err; } -- cgit v1.2.3