Skip to contentSkip to conversation

gspca pac7302/pac7311: separate contrast control

PATCH In review Németh Márton 1 participant 1 message Oct 31, 2009 Media (V4L/DVB)

lore
Share & tools
lore
#0 lore raw

PATCH 11/21 gspca pac7302/pac7311: separate contrast control

From: Márton Németh <[email protected]>

Separate the contrast control. Remove the run-time decision for PAC7302 and PAC7311 sensors.

Cc Thomas Kaiser <[email protected]>
Cc Theodore Kilgore <[email protected]>
Cc Kyle Guinn <[email protected]>

---

drivers/media/video/gspca/pac7311.c +30 -12
diff -uprN k/drivers/media/video/gspca/pac7311.c l/drivers/media/video/gspca/pac7311.c
@@ -83,8 +83,10 @@ struct sd {
 /* V4L2 controls supported by the driver */
 static int pac7302_sd_setbrightness(struct gspca_dev *gspca_dev, __s32 val);
 static int pac7302_sd_getbrightness(struct gspca_dev *gspca_dev, __s32 *val);
-static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val);
-static int sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val);
+static int pac7302_sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val);
+static int pac7311_sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val);
+static int pac7302_sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val);
+static int pac7311_sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val);
 static int pac7302_sd_setcolors(struct gspca_dev *gspca_dev, __s32 val);
 static int pac7302_sd_getcolors(struct gspca_dev *gspca_dev, __s32 *val);
 static int sd_setautogain(struct gspca_dev *gspca_dev, __s32 val);
@@ -128,8 +130,8 @@ static struct ctrl pac7302_sd_ctrls[] =
 #define CONTRAST_DEF 127
 		.default_value = CONTRAST_DEF,
 	    },
-	    .set = sd_setcontrast,
-	    .get = sd_getcontrast,
+	    .set = pac7302_sd_setcontrast,
+	    .get = pac7302_sd_getcontrast,
 	},
 /* This control is pac7302 only */
 	{
@@ -238,8 +240,8 @@ static struct ctrl pac7311_sd_ctrls[] =
 #define CONTRAST_DEF 127
 		.default_value = CONTRAST_DEF,
 	    },
-	    .set = sd_setcontrast,
-	    .get = sd_getcontrast,
+	    .set = pac7311_sd_setcontrast,
+	    .get = pac7311_sd_getcontrast,
 	},
 /* All controls below are for both the 7302 and the 7311 */
 	{
@@ -1130,21 +1132,37 @@ static int pac7302_sd_getbrightness(stru
 	return 0;
 }
 
-static int sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val)
+static int pac7302_sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val)
 {
 	struct sd *sd = (struct sd *) gspca_dev;
 
 	sd->contrast = val;
 	if (gspca_dev->streaming) {
-		if (sd->sensor == SENSOR_PAC7302)
-			pac7302_setbrightcont(gspca_dev);
-		else
-			pac7311_setcontrast(gspca_dev);
+		pac7302_setbrightcont(gspca_dev);
+	}
+	return 0;
+}
+
+static int pac7311_sd_setcontrast(struct gspca_dev *gspca_dev, __s32 val)
+{
+	struct sd *sd = (struct sd *) gspca_dev;
+
+	sd->contrast = val;
+	if (gspca_dev->streaming) {
+		pac7311_setcontrast(gspca_dev);
 	}
 	return 0;
 }
 
-static int sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val)
+static int pac7302_sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val)
+{
+	struct sd *sd = (struct sd *) gspca_dev;
+
+	*val = sd->contrast;
+	return 0;
+}
+
+static int pac7311_sd_getcontrast(struct gspca_dev *gspca_dev, __s32 *val)
 {
 	struct sd *sd = (struct sd *) gspca_dev;