]> git.sur5r.net Git - u-boot/blobdiff - common/fdt_support.c
ARM: relocation: don't undef CONFIG_SYS_ARM_WITHOUT_RELOC
[u-boot] / common / fdt_support.c
index 6f32e3f68df43cbc61c85a3505b0057579b2a142..0ed6e77292df179b953f6d1ad760bd9e4a236ac5 100644 (file)
@@ -620,7 +620,7 @@ int fdt_fixup_nor_flash_size(void *blob)
        int off;
        int len;
        struct fdt_property *prop;
-       u32 *reg;
+       u32 *reg, *reg2;
        int i;
 
        for (i = 0; i < 2; i++) {
@@ -640,18 +640,21 @@ int fdt_fixup_nor_flash_size(void *blob)
                                 * There might be multiple reg-tuples,
                                 * so loop through them all
                                 */
-                               len /= tuple_size;
-                               reg = (u32 *)&prop->data[0];
-                               for (idx = 0; idx < len; idx++) {
+                               reg = reg2 = (u32 *)&prop->data[0];
+                               for (idx = 0; idx < (len / tuple_size); idx++) {
                                        /*
                                         * Update size in reg property
                                         */
                                        reg[2] = flash_get_bank_size(reg[0],
                                                                     idx);
-                                       fdt_setprop(blob, off, "reg", reg,
-                                                   tuple_size);
-                                       reg += tuple_size;
+
+                                       /*
+                                        * Point to next reg tuple
+                                        */
+                                       reg += 3;
                                }
+
+                               fdt_setprop(blob, off, "reg", reg2, len);
                        }
 
                        /* Move to next compatible node */