V4L/DVB (13323): gspca - zc3xx: Adjust the exchanges of sensors mi0360soc and pb0330.
[safe/jmp/linux-2.6] / drivers / media / video / gspca / vc032x.c
index 619250e..589042f 100644 (file)
@@ -2946,7 +2946,8 @@ static int sd_start(struct gspca_dev *gspca_dev)
                        reg_w(gspca_dev->dev, 0x89, 0x058c, 0x0000);
                        break;
                default:
-                       reg_w(gspca_dev->dev, 0x89, 0xffff, 0xfdff);
+                       if (!(sd->flags & FL_SAMSUNG))
+                               reg_w(gspca_dev->dev, 0x89, 0xffff, 0xfdff);
                        break;
                }
                msleep(100);
@@ -2964,7 +2965,7 @@ static void sd_stopN(struct gspca_dev *gspca_dev)
 
        if (sd->sensor == SENSOR_MI1310_SOC)
                reg_w(dev, 0x89, 0x058c, 0x00ff);
-       else
+       else if (!(sd->flags & FL_SAMSUNG))
                reg_w(dev, 0x89, 0xffff, 0xffff);
        reg_w(dev, 0xa0, 0x01, 0xb301);
        reg_w(dev, 0xa0, 0x09, 0xb003);
@@ -2981,7 +2982,7 @@ static void sd_stop0(struct gspca_dev *gspca_dev)
 /*fixme: is this useful?*/
        if (sd->sensor == SENSOR_MI1310_SOC)
                reg_w(dev, 0x89, 0x058c, 0x00ff);
-       else
+       else if (!(sd->flags & FL_SAMSUNG))
                reg_w(dev, 0x89, 0xffff, 0xffff);
 }