Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3
authorWolfgang Denk <wd@pollux.denx.de>
Fri, 12 Aug 2005 20:35:59 +0000 (22:35 +0200)
committerWolfgang Denk <wd@pollux.denx.de>
Fri, 12 Aug 2005 20:35:59 +0000 (22:35 +0200)
Patch by Anders Larsen, 26 Apr 2005

CHANGELOG
cpu/arm920t/at91rm9200/serial.c
drivers/cfi_flash.c

index a8db4a8c7d44bd8075cc2af200e11a48771f6dae..98f95a5700107306a4863a523cbc67e83154933c 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes for U-Boot 1.1.3:
 ======================================================================
 
+* Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3
+  Patch by Anders Larsen, 26 Apr 2005
+
 * measure_gclk() is needed when DEBUG is enabled
   Patch by Bryan O'Donoghue, 25 Apr 2005
 
index b529cfa41b7bd587929245c5c88a5dbbf78d6403..a281932b77d05500358cb20172e5539c6d88d93d 100644 (file)
@@ -56,7 +56,7 @@ void serial_setbrg (void)
        if ((baudrate = gd->baudrate) <= 0)
                baudrate = CONFIG_BAUDRATE;
        /* MASTER_CLOCK/(16 * baudrate) */
-       us->US_BRGR = (AT91C_MASTER_CLOCK >> 4)/baudrate;
+       us->US_BRGR = (AT91C_MASTER_CLOCK >> 4) / (unsigned)baudrate;
 }
 
 int serial_init (void)
index d8489d46c06b499998bd699d1a95cdfd7132b037..3d0f2045011f1009258629ae45a8bbac9bd8ffa5 100644 (file)
@@ -557,7 +557,7 @@ int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)
                i = buffered_size > cnt ? cnt : buffered_size;
                if ((rc = flash_write_cfibuffer (info, wp, src, i)) != ERR_OK)
                        return rc;
-               i -= (i % info->portwidth);
+               i -= i & (info->portwidth - 1);
                wp += i;
                src += i;
                cnt -= i;
@@ -805,7 +805,7 @@ static void flash_make_cmd (flash_info_t * info, uchar cmd, void *cmdbuf)
        uchar *cp = (uchar *) cmdbuf;
 
        for (i = 0; i < info->portwidth; i++)
-               *cp++ = ((i + 1) % info->chipwidth) ? '\0' : cmd;
+               *cp++ = ((i + 1) & (info->chipwidth - 1)) ? '\0' : cmd;
 #if defined(__LITTLE_ENDIAN)
        switch (info->portwidth) {
        case FLASH_CFI_8BIT: