mirror of https://gitee.com/openkylin/linux.git
V4L/DVB: gspca - ov534: Fix and document setting manual exposure
Document that even if the state is a u8 value, both MSB and LSB are set as sd->exposure represents half of the value we are going to set into registers. Skip setting exposure when AEC is enabled. Signed-off-by: Antonio Ospite <ospite@studenti.unina.it> Signed-off-by: Jean-François Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
f293882252
commit
18cf8c91ad
|
@ -686,6 +686,15 @@ static void setexposure(struct gspca_dev *gspca_dev)
|
|||
struct sd *sd = (struct sd *) gspca_dev;
|
||||
u8 val;
|
||||
|
||||
if (sd->aec)
|
||||
return;
|
||||
|
||||
/* 'val' is one byte and represents half of the exposure value we are
|
||||
* going to set into registers, a two bytes value:
|
||||
*
|
||||
* MSB: ((u16) val << 1) >> 8 == val >> 7
|
||||
* LSB: ((u16) val << 1) & 0xff == val << 1
|
||||
*/
|
||||
val = sd->exposure;
|
||||
sccb_reg_write(gspca_dev, 0x08, val >> 7);
|
||||
sccb_reg_write(gspca_dev, 0x10, val << 1);
|
||||
|
|
Loading…
Reference in New Issue