[11/21] gspca pac7302/pac7311: separate contrast control

Message ID 4AECC505.4040201@freemail.hu (mailing list archive)
State Superseded, archived
Headers

Commit Message

Németh Márton Oct. 31, 2009, 11:15 p.m. UTC
  From: Márton Németh <nm127@freemail.hu>

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

Signed-off-by: Márton Németh <nm127@freemail.hu>
Cc: Thomas Kaiser <thomas@kaiser-linux.li>
Cc: Theodore Kilgore <kilgota@auburn.edu>
Cc: Kyle Guinn <elyk03@gmail.com>
---
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

diff -uprN k/drivers/media/video/gspca/pac7311.c l/drivers/media/video/gspca/pac7311.c
--- k/drivers/media/video/gspca/pac7311.c	2009-10-31 07:13:44.000000000 +0100
+++ l/drivers/media/video/gspca/pac7311.c	2009-10-31 07:21:22.000000000 +0100
@@ -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;