aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2011-12-30 08:58:44 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-01-06 07:40:05 -0500
commit3870ed3aed268cf42bebaa0cfe08080dfb13b1a3 (patch)
treee7e800eb900cb5831a273d63e6aca6addde89eea /drivers
parentfe3449a4aa4e62404cc1c57c945fd56152b2f877 (diff)
[media] gspca_sonixb: Fix exposure control min/max value for coarse expo sensors
This got broken by some gscpa core fixes, this patch restores the proper min/max values for these controls. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/gspca/sonixb.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/media/video/gspca/sonixb.c b/drivers/media/video/gspca/sonixb.c
index 146b459b08d5..31f7aba3a883 100644
--- a/drivers/media/video/gspca/sonixb.c
+++ b/drivers/media/video/gspca/sonixb.c
@@ -1079,20 +1079,23 @@ static int sd_config(struct gspca_dev *gspca_dev,
1079 } 1079 }
1080 cam->npkt = 36; /* 36 packets per ISOC message */ 1080 cam->npkt = 36; /* 36 packets per ISOC message */
1081 1081
1082 if (sensor_data[sd->sensor].flags & F_COARSE_EXPO) {
1083 sd->ctrls[EXPOSURE].min = COARSE_EXPOSURE_MIN;
1084 sd->ctrls[EXPOSURE].max = COARSE_EXPOSURE_MAX;
1085 sd->ctrls[EXPOSURE].def = COARSE_EXPOSURE_DEF;
1086 }
1087
1088 return 0; 1082 return 0;
1089} 1083}
1090 1084
1091/* this function is called at probe and resume time */ 1085/* this function is called at probe and resume time */
1092static int sd_init(struct gspca_dev *gspca_dev) 1086static int sd_init(struct gspca_dev *gspca_dev)
1093{ 1087{
1088 struct sd *sd = (struct sd *) gspca_dev;
1094 const __u8 stop = 0x09; /* Disable stream turn of LED */ 1089 const __u8 stop = 0x09; /* Disable stream turn of LED */
1095 1090
1091 if (sensor_data[sd->sensor].flags & F_COARSE_EXPO) {
1092 sd->ctrls[EXPOSURE].min = COARSE_EXPOSURE_MIN;
1093 sd->ctrls[EXPOSURE].max = COARSE_EXPOSURE_MAX;
1094 sd->ctrls[EXPOSURE].def = COARSE_EXPOSURE_DEF;
1095 if (sd->ctrls[EXPOSURE].val > COARSE_EXPOSURE_MAX)
1096 sd->ctrls[EXPOSURE].val = COARSE_EXPOSURE_DEF;
1097 }
1098
1096 reg_w(gspca_dev, 0x01, &stop, 1); 1099 reg_w(gspca_dev, 0x01, &stop, 1);
1097 1100
1098 return 0; 1101 return 0;