From: Wolfgang Denk <wd@pollux.denx.de>
Date: Fri, 12 Aug 2005 20:35:59 +0000 (+0200)
Subject: Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3
X-Git-Tag: LABEL_2006_03_12_0025~226^2~10
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8d4ba3da5e5d254c69d44fd74fa322986318b16f;p=oweals%2Fu-boot.git

Eliminate calls of ARM libgcc.a helper functions _divsi3 and _modsi3
Patch by Anders Larsen, 26 Apr 2005
---

diff --git a/CHANGELOG b/CHANGELOG
index a8db4a8c7d..98f95a5700 100644
--- 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
 
diff --git a/cpu/arm920t/at91rm9200/serial.c b/cpu/arm920t/at91rm9200/serial.c
index b529cfa41b..a281932b77 100644
--- a/cpu/arm920t/at91rm9200/serial.c
+++ b/cpu/arm920t/at91rm9200/serial.c
@@ -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)
diff --git a/drivers/cfi_flash.c b/drivers/cfi_flash.c
index d8489d46c0..3d0f204501 100644
--- a/drivers/cfi_flash.c
+++ b/drivers/cfi_flash.c
@@ -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: