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 <osp...@studenti.unina.it>
---
The code was already doing the right thing, I just overlooked it.

Regards,
   Antonio

 linux/drivers/media/video/gspca/ov534.c |    9 +++++++++
 1 file changed, 9 insertions(+)

Index: gspca/linux/drivers/media/video/gspca/ov534.c
===================================================================
--- gspca.orig/linux/drivers/media/video/gspca/ov534.c
+++ gspca/linux/drivers/media/video/gspca/ov534.c
@@ -686,6 +686,15 @@
        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);
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to