diff options
author | Jean-François Moine <moinejf@free.fr> | 2011-01-13 05:56:00 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-01-19 08:45:43 -0500 |
commit | a63d601803c2e3ba06ed51b9ed997fc6bf80e5bf (patch) | |
tree | 96ad14a60b5e455a75dc05d51b96b3f7624c8fec /drivers | |
parent | 3afef85bfefa65a31f4dbf8e7921c7938adb24f4 (diff) |
[media] gspca - sonixj: Add LED (illuminator) control to the webcam 0c45:614a
Signed-off-by: Jean-François Moine <moinejf@free.fr>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/gspca/sonixj.c | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/drivers/media/video/gspca/sonixj.c b/drivers/media/video/gspca/sonixj.c index c634dc113f94..d6f39ce1b7e1 100644 --- a/drivers/media/video/gspca/sonixj.c +++ b/drivers/media/video/gspca/sonixj.c | |||
@@ -2193,14 +2193,22 @@ static void setillum(struct gspca_dev *gspca_dev) | |||
2193 | 2193 | ||
2194 | if (gspca_dev->ctrl_dis & (1 << ILLUM)) | 2194 | if (gspca_dev->ctrl_dis & (1 << ILLUM)) |
2195 | return; | 2195 | return; |
2196 | if (starcam) | 2196 | switch (sd->sensor) { |
2197 | reg_w1(gspca_dev, 0x02, /* gpio */ | 2197 | case SENSOR_ADCM1700: |
2198 | sd->ctrls[ILLUM].val ? | 2198 | reg_w1(gspca_dev, 0x02, /* gpio */ |
2199 | 0x55 : 0x54); /* 370i */ | 2199 | sd->ctrls[ILLUM].val ? 0x64 : 0x60); |
2200 | else | 2200 | break; |
2201 | reg_w1(gspca_dev, 0x02, | 2201 | case SENSOR_MT9V111: |
2202 | sd->ctrls[ILLUM].val ? | 2202 | if (starcam) |
2203 | 0x66 : 0x64); /* Clip */ | 2203 | reg_w1(gspca_dev, 0x02, |
2204 | sd->ctrls[ILLUM].val ? | ||
2205 | 0x55 : 0x54); /* 370i */ | ||
2206 | else | ||
2207 | reg_w1(gspca_dev, 0x02, | ||
2208 | sd->ctrls[ILLUM].val ? | ||
2209 | 0x66 : 0x64); /* Clip */ | ||
2210 | break; | ||
2211 | } | ||
2204 | } | 2212 | } |
2205 | 2213 | ||
2206 | static void setfreq(struct gspca_dev *gspca_dev) | 2214 | static void setfreq(struct gspca_dev *gspca_dev) |
@@ -2959,7 +2967,7 @@ static const struct usb_device_id device_table[] = { | |||
2959 | /* or GC0305 / GC0307 */ | 2967 | /* or GC0305 / GC0307 */ |
2960 | {USB_DEVICE(0x0c45, 0x6143), BS(SN9C120, SP80708)}, /*sn9c120b*/ | 2968 | {USB_DEVICE(0x0c45, 0x6143), BS(SN9C120, SP80708)}, /*sn9c120b*/ |
2961 | {USB_DEVICE(0x0c45, 0x6148), BS(SN9C120, OM6802)}, /*sn9c120b*/ | 2969 | {USB_DEVICE(0x0c45, 0x6148), BS(SN9C120, OM6802)}, /*sn9c120b*/ |
2962 | {USB_DEVICE(0x0c45, 0x614a), BS(SN9C120, ADCM1700)}, /*sn9c120b*/ | 2970 | {USB_DEVICE(0x0c45, 0x614a), BSF(SN9C120, ADCM1700, F_ILLUM)}, |
2963 | /* {USB_DEVICE(0x0c45, 0x614c), BS(SN9C120, GC0306)}, */ /*sn9c120b*/ | 2971 | /* {USB_DEVICE(0x0c45, 0x614c), BS(SN9C120, GC0306)}, */ /*sn9c120b*/ |
2964 | {} | 2972 | {} |
2965 | }; | 2973 | }; |