From 29b87f045552910f964972b7a45e9be054401a0b Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Sun, 17 Jan 2010 03:27:04 -0300 Subject: [PATCH] V4L/DVB: gspca - ov534: Allow enumerating supported framerates Signed-off-by: Antonio Ospite Signed-off-by: Jean-Francois Moine Signed-off-by: Mauro Carvalho Chehab --- drivers/media/video/gspca/gspca.h | 2 +- drivers/media/video/gspca/ov534.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/media/video/gspca/gspca.h b/drivers/media/video/gspca/gspca.h index 790dad736888..53c034ea84ad 100644 --- a/drivers/media/video/gspca/gspca.h +++ b/drivers/media/video/gspca/gspca.h @@ -48,7 +48,7 @@ extern int gspca_debug; /* used to list framerates supported by a camera mode (resolution) */ struct framerates { - int *rates; + const u8 *rates; int nrates; }; diff --git a/drivers/media/video/gspca/ov534.c b/drivers/media/video/gspca/ov534.c index 0878c09e2485..c02784bbe95a 100644 --- a/drivers/media/video/gspca/ov534.c +++ b/drivers/media/video/gspca/ov534.c @@ -282,6 +282,20 @@ static const struct v4l2_pix_format ov772x_mode[] = { .priv = 0}, }; +static const u8 qvga_rates[] = {125, 100, 75, 60, 50, 40, 30}; +static const u8 vga_rates[] = {60, 50, 40, 30, 15}; + +static const struct framerates ov772x_framerates[] = { + { /* 320x240 */ + .rates = qvga_rates, + .nrates = ARRAY_SIZE(qvga_rates), + }, + { /* 640x480 */ + .rates = vga_rates, + .nrates = ARRAY_SIZE(vga_rates), + }, +}; + static const u8 bridge_init[][2] = { { 0xc2, 0x0c }, { 0x88, 0xf8 }, @@ -799,6 +813,7 @@ static int sd_config(struct gspca_dev *gspca_dev, cam->cam_mode = ov772x_mode; cam->nmodes = ARRAY_SIZE(ov772x_mode); + cam->mode_framerates = ov772x_framerates; cam->bulk = 1; cam->bulk_size = 16384;