From: German Galkin Date: Sun, 7 Mar 2010 09:19:02 +0000 (-0300) Subject: V4L/DVB: gspca - sn9c20x: Fix exposure control for HV7131R sensor X-Git-Tag: v2.6.35-rc1~480^2~408 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e10f73194d63321d020433fa1287e619d4107b79;p=platform%2Fkernel%2Flinux-stable.git V4L/DVB: gspca - sn9c20x: Fix exposure control for HV7131R sensor Make the range of exposure values (0-0x1770) distribute evenly through HV7131R's exposure control bytes. Signed-off-by: German Galkin Signed-off-by: Jean-François Moine Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/video/gspca/sn9c20x.c b/drivers/media/video/gspca/sn9c20x.c index 3dee3e5..04bf80d 100644 --- a/drivers/media/video/gspca/sn9c20x.c +++ b/drivers/media/video/gspca/sn9c20x.c @@ -1655,9 +1655,9 @@ static int set_exposure(struct gspca_dev *gspca_dev) case SENSOR_HV7131R: exp[0] |= (4 << 4); exp[2] = 0x25; - exp[3] = ((sd->exposure * 0xffffff) / 0xffff) >> 16; - exp[4] = ((sd->exposure * 0xffffff) / 0xffff) >> 8; - exp[5] = ((sd->exposure * 0xffffff) / 0xffff) & 0xff; + exp[3] = (sd->exposure >> 5) & 0xff; + exp[4] = (sd->exposure << 3) & 0xff; + exp[5] = 0; break; default: return 0;