The patch number 9883 was added via Jean-Francois Moine <moin...@free.fr>
to http://linuxtv.org/hg/v4l-dvb master development tree.

Kernel patches in this development tree may be modified to be backward
compatible with older kernels. Compatibility modifications will be
removed before inclusion into the mainstream Kernel

If anyone has any objections, please let us know by sending a message to:
        v4l-dvb-maintai...@linuxtv.org

------

From: Antonio Ospite  <osp...@studenti.unina.it>
gspca - ov534: Show sensor ID.


The original version of sccb_read_reg() is from Jim Paris.

NOTE: as it is now reading sensor ID won't work for sensors on different
i2c slave address.

Priority: normal

Signed-off-by: Antonio Ospite <osp...@studenti.unina.it>
Signed-off-by: Jean-Francois Moine <moin...@free.fr>


---

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

diff -r 00716ac03219 -r aa1512af5399 linux/drivers/media/video/gspca/ov534.c
--- a/linux/drivers/media/video/gspca/ov534.c   Sun Dec 14 09:41:56 2008 +0100
+++ b/linux/drivers/media/video/gspca/ov534.c   Sun Dec 14 09:48:07 2008 +0100
@@ -149,6 +149,20 @@ static void sccb_reg_write(struct usb_de
                PDEBUG(D_ERR, "sccb_reg_write failed");
 }
 
+static u8 sccb_reg_read(struct usb_device *udev, u16 reg)
+{
+       ov534_reg_write(udev, OV534_REG_SUBADDR, reg);
+       ov534_reg_write(udev, OV534_REG_OPERATION, OV534_OP_WRITE_2);
+       if (!sccb_check_status(udev))
+               PDEBUG(D_ERR, "sccb_reg_read failed 1");
+
+       ov534_reg_write(udev, OV534_REG_OPERATION, OV534_OP_READ_2);
+       if (!sccb_check_status(udev))
+               PDEBUG(D_ERR, "sccb_reg_read failed 2");
+
+       return ov534_reg_read(udev, OV534_REG_READ);
+}
+
 static const __u8 ov534_reg_initdata[][2] = {
        { 0xe7, 0x3a },
 
@@ -339,6 +353,9 @@ static void ov534_setup(struct usb_devic
                ov534_reg_write(udev, ov534_reg_initdata[i][0],
                                ov534_reg_initdata[i][1]);
 
+       PDEBUG(D_PROBE, "sensor is ov%02x%02x",
+               sccb_reg_read(udev, 0x0a), sccb_reg_read(udev, 0x0b));
+
        ov534_set_led(udev, 1);
 
        /* Initialize sensor */


---

Patch is available at: 
http://linuxtv.org/hg/v4l-dvb/rev/aa1512af53993f3b248151a374b29dbc88e50cda

_______________________________________________
linuxtv-commits mailing list
linuxtv-commits@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to