The patch number 11211 was added via Jean-Francois Moine <[email protected]>
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:
        Linux Media Mailing List <[email protected]>

------

From: Jean-Francois Moine  <[email protected]>
gspca - vc032x: Simplify the i2c write function.


Priority: normal

Signed-off-by: Jean-Francois Moine <[email protected]>


---

 linux/drivers/media/video/gspca/vc032x.c |   24 ++++-------------------
 1 file changed, 5 insertions(+), 19 deletions(-)

diff -r db81f422a751 -r fb4ba7eaa8b0 linux/drivers/media/video/gspca/vc032x.c
--- a/linux/drivers/media/video/gspca/vc032x.c  Tue Mar 24 09:07:56 2009 +0100
+++ b/linux/drivers/media/video/gspca/vc032x.c  Wed Mar 25 11:04:11 2009 +0100
@@ -2438,33 +2438,19 @@ static int vc032x_probe_sensor(struct gs
 }
 
 static void i2c_write(struct gspca_dev *gspca_dev,
-                       __u8 reg, const __u8 *val, __u8 size)
+                       u8 reg, const u8 *val,
+                       u8 size)                /* 1 or 2 */
 {
        struct usb_device *dev = gspca_dev->dev;
        int retry;
 
-#ifdef GSPCA_DEBUG
-       if (size > 3 || size < 1)
-               return;
-#endif
        reg_r(gspca_dev, 0xa1, 0xb33f, 1);
+/*fixme:should check if (!(gspca_dev->usb_buf[0] & 0x02)) error*/
        reg_w(dev, 0xa0, size, 0xb334);
        reg_w(dev, 0xa0, reg, 0xb33a);
-       switch (size) {
-       case 1:
-               reg_w(dev, 0xa0, val[0], 0xb336);
-               break;
-       case 2:
-               reg_w(dev, 0xa0, val[0], 0xb336);
+       reg_w(dev, 0xa0, val[0], 0xb336);
+       if (size > 1)
                reg_w(dev, 0xa0, val[1], 0xb337);
-               break;
-       default:
-/*     case 3: */
-               reg_w(dev, 0xa0, val[0], 0xb336);
-               reg_w(dev, 0xa0, val[1], 0xb337);
-               reg_w(dev, 0xa0, val[2], 0xb338);
-               break;
-       }
        reg_w(dev, 0xa0, 0x01, 0xb339);
        retry = 4;
        do {


---

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

_______________________________________________
linuxtv-commits mailing list
[email protected]
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linuxtv-commits

Reply via email to