]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - post/drivers/i2c.c
post: fix I2C POST failure for devices in CONFIG_SYS_POST_I2C_IGNORES
[people/ms/u-boot.git] / post / drivers / i2c.c
index 3080e81b5bf38434946285d54df62bdf58c12ee2..c93ae25c4c121d472ead627e7b7a258ecbb33703 100644 (file)
@@ -63,18 +63,19 @@ int i2c_post_test (int flags)
        unsigned int i;
 #ifndef CONFIG_SYS_POST_I2C_ADDRS
        /* Start at address 1, address 0 is the general call address */
-       for (i = 1; i < 128; i++)
+       for (i = 1; i < 128; i++) {
                if (i2c_ignore_device(i))
                        continue;
                if (i2c_probe (i) == 0)
                        return 0;
+       }
 
        /* No devices found */
        return -1;
 #else
        unsigned int ret  = 0;
        int j;
-       const unsigned char i2c_addr_list[] = CONFIG_SYS_POST_I2C_ADDRS;
+       unsigned char i2c_addr_list[] = CONFIG_SYS_POST_I2C_ADDRS;
 
        /* Start at address 1, address 0 is the general call address */
        for (i = 1; i < 128; i++) {
@@ -99,6 +100,8 @@ int i2c_post_test (int flags)
        for (i = 0; i < sizeof(i2c_addr_list); ++i) {
                if (i2c_addr_list[i] == 0xff)
                        continue;
+               if (i2c_ignore_device(i2c_addr_list[i]))
+                       continue;
                post_log("I2C: addr %02x did not respond\n", i2c_addr_list[i]);
                ret = -1;
        }