]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/media/video/sn9c102/sn9c102_pas106b.c
Merge branch 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-omap-h63xx.git] / drivers / media / video / sn9c102 / sn9c102_pas106b.c
index a67057210cabbf894e98d1079f8fe9b2702e92e6..360f2a848bc018212b8b8a3052f91d5787400cfe 100644 (file)
@@ -27,12 +27,9 @@ static int pas106b_init(struct sn9c102_device* cam)
 {
        int err = 0;
 
-       err += sn9c102_write_reg(cam, 0x00, 0x10);
-       err += sn9c102_write_reg(cam, 0x00, 0x11);
-       err += sn9c102_write_reg(cam, 0x00, 0x14);
-       err += sn9c102_write_reg(cam, 0x20, 0x17);
-       err += sn9c102_write_reg(cam, 0x20, 0x19);
-       err += sn9c102_write_reg(cam, 0x09, 0x18);
+       err = sn9c102_write_const_regs(cam, {0x00, 0x10}, {0x00, 0x11},
+                                      {0x00, 0x14}, {0x20, 0x17},
+                                      {0x20, 0x19}, {0x09, 0x18});
 
        err += sn9c102_i2c_write(cam, 0x02, 0x0c);
        err += sn9c102_i2c_write(cam, 0x05, 0x5a);
@@ -166,7 +163,7 @@ static int pas106b_set_pix_format(struct sn9c102_device* cam,
 }
 
 
-static struct sn9c102_sensor pas106b = {
+static const struct sn9c102_sensor pas106b = {
        .name = "PAS106B",
        .maintainer = "Luca Risolia <luca.risolia@studio.unibo.it>",
        .supported_bridge = BRIDGE_SN9C101 | BRIDGE_SN9C102,
@@ -276,22 +273,21 @@ static struct sn9c102_sensor pas106b = {
 
 int sn9c102_probe_pas106b(struct sn9c102_device* cam)
 {
-       int r0 = 0, r1 = 0, err = 0;
+       int r0 = 0, r1 = 0;
        unsigned int pid = 0;
 
        /*
           Minimal initialization to enable the I2C communication
           NOTE: do NOT change the values!
        */
-       err += sn9c102_write_reg(cam, 0x01, 0x01); /* sensor power down */
-       err += sn9c102_write_reg(cam, 0x00, 0x01); /* sensor power on */
-       err += sn9c102_write_reg(cam, 0x28, 0x17); /* sensor clock at 24 MHz */
-       if (err)
+       if (sn9c102_write_const_regs(cam,
+                                    {0x01, 0x01}, /* sensor power down */
+                                    {0x00, 0x01}, /* sensor power on */
+                                   {0x28, 0x17})) /* sensor clock at 24 MHz */
                return -EIO;
 
        r0 = sn9c102_i2c_try_read(cam, &pas106b, 0x00);
        r1 = sn9c102_i2c_try_read(cam, &pas106b, 0x01);
-
        if (r0 < 0 || r1 < 0)
                return -EIO;