summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/gspca
diff options
context:
space:
mode:
authorAntonio Ospite <ospite@studenti.unina.it>2010-01-17 07:27:04 +0100
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-02-26 19:10:47 +0100
commit29b87f045552910f964972b7a45e9be054401a0b (patch)
treed83abc8a45161aa1227d23eea360324807b682f4 /drivers/media/video/gspca
parentV4L/DVB: gspca - ov534_9: Propagate USB errors to higher level (diff)
downloadlinux-29b87f045552910f964972b7a45e9be054401a0b.tar.xz
linux-29b87f045552910f964972b7a45e9be054401a0b.zip
V4L/DVB: gspca - ov534: Allow enumerating supported framerates
Signed-off-by: Antonio Ospite <ospite@studenti.unina.it> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca')
-rw-r--r--drivers/media/video/gspca/gspca.h2
-rw-r--r--drivers/media/video/gspca/ov534.c15
2 files changed, 16 insertions, 1 deletions
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;