]> err.no Git - linux-2.6/blobdiff - drivers/media/video/sn9c102/sn9c102_mi0360.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shaggy...
[linux-2.6] / drivers / media / video / sn9c102 / sn9c102_mi0360.c
index 7154dd0534ff61d24d6c4c68880d16d849e544d1..64698acb0b15cd57feaa43a96bbfb6466b0729d9 100644 (file)
@@ -27,34 +27,20 @@ static int mi0360_init(struct sn9c102_device* cam)
        struct sn9c102_sensor* s = sn9c102_get_sensor(cam);
        int err = 0;
 
-       err += sn9c102_write_reg(cam, 0x00, 0x10);
-       err += sn9c102_write_reg(cam, 0x00, 0x11);
-       err += sn9c102_write_reg(cam, 0x0a, 0x14);
-       err += sn9c102_write_reg(cam, 0x40, 0x01);
-       err += sn9c102_write_reg(cam, 0x20, 0x17);
-       err += sn9c102_write_reg(cam, 0x07, 0x18);
-       err += sn9c102_write_reg(cam, 0xa0, 0x19);
-       err += sn9c102_write_reg(cam, 0x02, 0x1c);
-       err += sn9c102_write_reg(cam, 0x03, 0x1d);
-       err += sn9c102_write_reg(cam, 0x0f, 0x1e);
-       err += sn9c102_write_reg(cam, 0x0c, 0x1f);
-       err += sn9c102_write_reg(cam, 0x00, 0x20);
-       err += sn9c102_write_reg(cam, 0x10, 0x21);
-       err += sn9c102_write_reg(cam, 0x20, 0x22);
-       err += sn9c102_write_reg(cam, 0x30, 0x23);
-       err += sn9c102_write_reg(cam, 0x40, 0x24);
-       err += sn9c102_write_reg(cam, 0x50, 0x25);
-       err += sn9c102_write_reg(cam, 0x60, 0x26);
-       err += sn9c102_write_reg(cam, 0x70, 0x27);
-       err += sn9c102_write_reg(cam, 0x80, 0x28);
-       err += sn9c102_write_reg(cam, 0x90, 0x29);
-       err += sn9c102_write_reg(cam, 0xa0, 0x2a);
-       err += sn9c102_write_reg(cam, 0xb0, 0x2b);
-       err += sn9c102_write_reg(cam, 0xc0, 0x2c);
-       err += sn9c102_write_reg(cam, 0xd0, 0x2d);
-       err += sn9c102_write_reg(cam, 0xe0, 0x2e);
-       err += sn9c102_write_reg(cam, 0xf0, 0x2f);
-       err += sn9c102_write_reg(cam, 0xff, 0x30);
+       err = sn9c102_write_const_regs(cam, {0x00, 0x10}, {0x00, 0x11},
+                                      {0x0a, 0x14}, {0x40, 0x01},
+                                      {0x20, 0x17}, {0x07, 0x18},
+                                      {0xa0, 0x19}, {0x02, 0x1c},
+                                      {0x03, 0x1d}, {0x0f, 0x1e},
+                                      {0x0c, 0x1f}, {0x00, 0x20},
+                                      {0x10, 0x21}, {0x20, 0x22},
+                                      {0x30, 0x23}, {0x40, 0x24},
+                                      {0x50, 0x25}, {0x60, 0x26},
+                                      {0x70, 0x27}, {0x80, 0x28},
+                                      {0x90, 0x29}, {0xa0, 0x2a},
+                                      {0xb0, 0x2b}, {0xc0, 0x2c},
+                                      {0xd0, 0x2d}, {0xe0, 0x2e},
+                                      {0xf0, 0x2f}, {0xff, 0x30});
 
        err += sn9c102_i2c_try_raw_write(cam, s, 4, s->i2c_slave_id, 0x0d,
                                         0x00, 0x01, 0, 0);
@@ -332,11 +318,10 @@ static struct sn9c102_sensor mi0360 = {
 int sn9c102_probe_mi0360(struct sn9c102_device* cam)
 {
        u8 data[5+1];
-       int err = 0;
+       int err;
 
-       err += sn9c102_write_reg(cam, 0x01, 0x01);
-       err += sn9c102_write_reg(cam, 0x00, 0x01);
-       err += sn9c102_write_reg(cam, 0x28, 0x17);
+       err = sn9c102_write_const_regs(cam, {0x01, 0x01}, {0x00, 0x01},
+                                      {0x28, 0x17});
        if (err)
                return -EIO;