unsigned char buf;
        int i,rc;
 
-       for (i = 0; i < 128; i++) {
+       for (i = 0; i < ARRAY_SIZE(i2c_devs); i++) {
                c->addr = i;
                rc = i2c_master_recv(c,&buf,0);
                if (rc < 0)
 
+
 /*
 
     cx88-i2c.c  --  all the i2c code is here
        unsigned char buf;
        int i,rc;
 
-       for (i = 0; i < 128; i++) {
+       for (i = 0; i < ARRAY_SIZE(i2c_devs); i++) {
                c->addr = i;
                rc = i2c_master_recv(c,&buf,0);
                if (rc < 0)
 
        unsigned char buf;
        int i, rc;
 
-       for (i = 0; i < 128; i++) {
+       for (i = 0; i < ARRAY_SIZE(i2c_devs); i++) {
                c->addr = i;
                rc = i2c_master_recv(c, &buf, 0);
                if (rc < 0)
 
                return -EIO;
        }
 
-       for (start = 0; start<4; start++) {
+       for (start = 0; start < ARRAY_SIZE(b); start++) {
                if (b[start] == marker) {
                        code=b[(start+parity_offset+1)%4];
                        parity=b[(start+parity_offset)%4];
 
        unsigned char buf;
        int i,rc;
 
-       for (i = 0; i < 128; i++) {
+       for (i = 0; i < ARRAY_SIZE(i2c_devs); i++) {
                c->addr = i;
                rc = i2c_master_recv(c,&buf,0);
                if (rc < 0)