V4L/DVB: saa717x: add support for s_mbus_fmt

Previous thread: sh: make sure static declaration on mach-ap325rxa by Linux Kernel Mailing List on Friday, June 4, 2010 - 4:01 pm. (1 message)

Next thread: V4L/DVB: ngene: MSI cleanup by Linux Kernel Mailing List on Friday, June 4, 2010 - 4:00 pm. (1 message)
From: Linux Kernel Mailing List
Date: Friday, June 4, 2010 - 4:00 pm

Gitweb:     http://git.kernel.org/linus/6c69db9de7a8934bdeb690663fab6fe046203ac4
Commit:     6c69db9de7a8934bdeb690663fab6fe046203ac4
Parent:     96fd004fe40b8e3beff2a6e27ae0411a4d315f1e
Author:     Hans Verkuil <hverkuil@xs4all.nl>
AuthorDate: Sun May 9 09:50:34 2010 -0300
Committer:  Mauro Carvalho Chehab <mchehab@redhat.com>
CommitDate: Tue Jun 1 01:20:27 2010 -0300

    V4L/DVB: saa717x: add support for s_mbus_fmt
    
    Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---
 drivers/media/video/saa717x.c |   47 +++++++++++++++++++++++++++--------------
 1 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/drivers/media/video/saa717x.c b/drivers/media/video/saa717x.c
index d521c64..422a3e2 100644
--- a/drivers/media/video/saa717x.c
+++ b/drivers/media/video/saa717x.c
@@ -1199,28 +1199,32 @@ static int saa717x_s_register(struct v4l2_subdev *sd, struct v4l2_dbg_register *
 }
 #endif
 
-static int saa717x_s_fmt(struct v4l2_subdev *sd, struct v4l2_format *fmt)
+static int saa717x_s_mbus_fmt(struct v4l2_subdev *sd, struct v4l2_mbus_framefmt *fmt)
 {
-	struct v4l2_pix_format *pix;
 	int prescale, h_scale, v_scale;
 
-	pix = &fmt->fmt.pix;
 	v4l2_dbg(1, debug, sd, "decoder set size\n");
 
+	if (fmt->code != V4L2_MBUS_FMT_FIXED)
+		return -EINVAL;
+
 	/* FIXME need better bounds checking here */
-	if (pix->width < 1 || pix->width > 1440)
+	if (fmt->width < 1 || fmt->width > 1440)
 		return -EINVAL;
-	if (pix->height < 1 || pix->height > 960)
+	if (fmt->height < 1 || fmt->height > 960)
 		return -EINVAL;
 
+	fmt->field = V4L2_FIELD_INTERLACED;
+	fmt->colorspace = V4L2_COLORSPACE_SMPTE170M;
+
 	/* scaling setting */
 	/* NTSC and interlace only */
-	prescale = SAA717X_NTSC_WIDTH / pix->width;
+	prescale = SAA717X_NTSC_WIDTH / fmt->width;
 	if (prescale == 0)
 		prescale = 1;
-	h_scale = 1024 * SAA717X_NTSC_WIDTH / prescale / pix->width;
+	h_scale = 1024 * SAA717X_NTSC_WIDTH / prescale / ...
Previous thread: sh: make sure static declaration on mach-ap325rxa by Linux Kernel Mailing List on Friday, June 4, 2010 - 4:01 pm. (1 message)

Next thread: V4L/DVB: ngene: MSI cleanup by Linux Kernel Mailing List on Friday, June 4, 2010 - 4:00 pm. (1 message)