summaryrefslogtreecommitdiff
path: root/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
diff options
context:
space:
mode:
authorErik Andr?n <erik.andren@gmail.com>2008-12-30 16:48:42 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-04-06 21:44:40 -0300
commit74cadfe1314f4cc6060dcfa5cea9ef13c6a824fd (patch)
tree437f0599f3b737876bf83e783c94132e714c9605 /drivers/media/video/gspca/m5602/m5602_s5k4aa.c
parent4eecb1767e0f1f800948eec9a3705c49a1b768aa (diff)
V4L/DVB (11413): gspca - m5602-mt9m111: Separate mode vectors per sensor.
By separating the supported for each sensor into a separate vector we can eliminate the nmodes variable and instead calculate it at runtime. Signed-off-by: Erik Andr?n <erik.andren@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/gspca/m5602/m5602_s5k4aa.c')
-rw-r--r--drivers/media/video/gspca/m5602/m5602_s5k4aa.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
index b7f1b045dca7..40ef9ae76482 100644
--- a/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
+++ b/drivers/media/video/gspca/m5602/m5602_s5k4aa.c
@@ -50,6 +50,20 @@ static
{ }
};
+static struct v4l2_pix_format s5k4aa_modes[] = {
+ {
+ 640,
+ 480,
+ V4L2_PIX_FMT_SBGGR8,
+ V4L2_FIELD_NONE,
+ .sizeimage =
+ 640 * 480,
+ .bytesperline = 640,
+ .colorspace = V4L2_COLORSPACE_SRGB,
+ .priv = 0
+ }
+};
+
static void s5k4aa_dump_registers(struct sd *sd);
int s5k4aa_probe(struct sd *sd)
@@ -115,8 +129,8 @@ int s5k4aa_probe(struct sd *sd)
info("Detected a s5k4aa sensor");
sensor_found:
- sd->gspca_dev.cam.cam_mode = s5k4aa.modes;
- sd->gspca_dev.cam.nmodes = s5k4aa.nmodes;
+ sd->gspca_dev.cam.cam_mode = s5k4aa_modes;
+ sd->gspca_dev.cam.nmodes = ARRAY_SIZE(s5k4aa_modes);
sd->desc->ctrls = s5k4aa.ctrls;
sd->desc->nctrls = ARRAY_SIZE(s5k4aa_ctrls);
return 0;