ppc4xx: Individual handling of ddr2_fixed.c for canyonlands_nand build
[platform/kernel/u-boot.git] / common / image.c
index 4a024d4..67e594d 100644 (file)
@@ -23,7 +23,6 @@
  * MA 02111-1307 USA
  */
 
-
 #ifndef USE_HOSTCC
 #include <common.h>
 #include <watchdog.h>
 #include <dataflash.h>
 #endif
 
-#ifdef CONFIG_LOGBUFFER
-#include <logbuff.h>
-#endif
-
 #if defined(CONFIG_TIMESTAMP) || defined(CONFIG_CMD_DATE)
 #include <rtc.h>
 #endif
@@ -93,6 +88,7 @@ static table_entry_t uimage_arch[] = {
        {       IH_ARCH_MIPS64,         "mips64",       "MIPS 64 Bit",  },
        {       IH_ARCH_NIOS,           "nios",         "NIOS",         },
        {       IH_ARCH_NIOS2,          "nios2",        "NIOS II",      },
+       {       IH_ARCH_PPC,            "powerpc",      "PowerPC",      },
        {       IH_ARCH_PPC,            "ppc",          "PowerPC",      },
        {       IH_ARCH_S390,           "s390",         "IBM S390",     },
        {       IH_ARCH_SH,             "sh",           "SuperH",       },
@@ -241,7 +237,7 @@ void image_multi_getimg (image_header_t *hdr, ulong idx,
 {
        int i;
        uint32_t *size;
-       ulong offset, tail, count, img_data;
+       ulong offset, count, img_data;
 
        /* get number of component */
        count = image_multi_count (hdr);
@@ -257,19 +253,15 @@ void image_multi_getimg (image_header_t *hdr, ulong idx,
        if (idx < count) {
                *len = uimage_to_cpu (size[idx]);
                offset = 0;
-               tail = 0;
 
                /* go over all indices preceding requested component idx */
                for (i = 0; i < idx; i++) {
-                       /* add up i-th component size */
-                       offset += uimage_to_cpu (size[i]);
-
-                       /* add up alignment for i-th component */
-                       tail += (4 - uimage_to_cpu (size[i]) % 4);
+                       /* add up i-th component size, rounding up to 4 bytes */
+                       offset += (uimage_to_cpu (size[i]) + 3) & ~3 ;
                }
 
                /* calculate idx-th component data address */
-               *data = img_data + offset + tail;
+               *data = img_data + offset;
        } else {
                *len = 0;
                *data = 0;