From: Hans de Goede <hdegoede@redhat.com>
Date: Sat, 9 Jan 2010 22:22:34 +0000 (-0300)
Subject: V4L/DVB (13999): gspca_ov519: remove non functioning contrast control for ov764x... 
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=d02134ddb6fc351ab25028bfb45a53d08a2bcfbf;p=linux.git

V4L/DVB (13999): gspca_ov519: remove non functioning contrast control for ov764x sensor

gspca_ov519: remove non functioning contrast control for ov764x sensor

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---

diff --git a/drivers/media/video/gspca/ov519.c b/drivers/media/video/gspca/ov519.c
index abd200a947db1..f94f41eb222e1 100644
--- a/drivers/media/video/gspca/ov519.c
+++ b/drivers/media/video/gspca/ov519.c
@@ -141,6 +141,7 @@ static void setautobrightness(struct sd *sd);
 static void setfreq(struct sd *sd);
 
 static const struct ctrl sd_ctrls[] = {
+#define BRIGHTNESS_IDX 0
 	{
 	    {
 		.id      = V4L2_CID_BRIGHTNESS,
@@ -155,6 +156,7 @@ static const struct ctrl sd_ctrls[] = {
 	    .set = sd_setbrightness,
 	    .get = sd_getbrightness,
 	},
+#define CONTRAST_IDX 1
 	{
 	    {
 		.id      = V4L2_CID_CONTRAST,
@@ -169,6 +171,7 @@ static const struct ctrl sd_ctrls[] = {
 	    .set = sd_setcontrast,
 	    .get = sd_getcontrast,
 	},
+#define COLOR_IDX 2
 	{
 	    {
 		.id      = V4L2_CID_SATURATION,
@@ -3118,8 +3121,10 @@ static int sd_config(struct gspca_dev *gspca_dev,
 	}
 	sd->quality = QUALITY_DEF;
 	if (sd->sensor == SEN_OV7640 ||
-	    sd->sensor == SEN_OV7648 ||
-	    sd->sensor == SEN_OV7670)
+	    sd->sensor == SEN_OV7648)
+		gspca_dev->ctrl_dis |= (1 << AUTOBRIGHT_IDX) |
+				       (1 << CONTRAST_IDX);
+	if (sd->sensor == SEN_OV7670)
 		gspca_dev->ctrl_dis |= 1 << AUTOBRIGHT_IDX;
 	/* OV8610 Frequency filter control should work but needs testing */
 	if (sd->sensor == SEN_OV8610)
@@ -4180,11 +4185,6 @@ static void setcontrast(struct gspca_dev *gspca_dev)
 		i2c_w(sd, 0x64, ctab[val >> 4]);
 		break;
 	    }
-	case SEN_OV7640:
-	case SEN_OV7648:
-		/* Use gain control instead. */
-		i2c_w(sd, OV7610_REG_GAIN, val >> 2);
-		break;
 	case SEN_OV7670:
 		/* check that this isn't just the same as ov7610 */
 		i2c_w(sd, OV7670_REG_CONTRAS, val >> 1);