summaryrefslogtreecommitdiff
path: root/board/trab
diff options
context:
space:
mode:
authorSergei Poselenov <sposelenov@emcraft.com>2008-08-14 14:08:28 +0200
committerWolfgang Denk <wd@denx.de>2008-09-09 02:14:41 +0200
commit4265c35fbcb248e58179007621d61d32d0b3b82a (patch)
tree4a97e0570b7b11a9ae895bf9fd0be14d51461b0f /board/trab
parent1055171ed05b7c4885737463d52b8d6c013bcb5d (diff)
downloadu-boot-4265c35fbcb248e58179007621d61d32d0b3b82a.tar.gz
u-boot-4265c35fbcb248e58179007621d61d32d0b3b82a.tar.bz2
u-boot-4265c35fbcb248e58179007621d61d32d0b3b82a.zip
ARM: Use do_div() instead of division for "long long".
Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com> Signed-off-by: Wolfgang Denk <wd@denx.de>
Diffstat (limited to 'board/trab')
-rw-r--r--board/trab/tsc2000.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/board/trab/tsc2000.c b/board/trab/tsc2000.c
index 382a85b359..f13a5a9dc0 100644
--- a/board/trab/tsc2000.c
+++ b/board/trab/tsc2000.c
@@ -27,6 +27,7 @@
#include <common.h>
#include <s3c2400.h>
+#include <div64.h>
#include "tsc2000.h"
#include "Pt1000_temp_data.h"
@@ -332,6 +333,7 @@ void tsc2000_reg_init (void)
int tsc2000_interpolate(long value, long data[][2], long *result)
{
int i;
+ unsigned long long val;
/* the data is sorted and the first element is upper
* limit so we can easily check for out-of-band values
@@ -347,10 +349,10 @@ int tsc2000_interpolate(long value, long data[][2], long *result)
result in 'long long'.
*/
- *result = data[i-1][1] +
- ((unsigned long long)(data[i][1] - data[i-1][1])
- * (unsigned long long)(value - data[i-1][0]))
- / (data[i][0] - data[i-1][0]);
+ val = ((unsigned long long)(data[i][1] - data[i-1][1])
+ * (unsigned long long)(value - data[i-1][0]));
+ do_div(val, (data[i][0] - data[i-1][0]));
+ *result = data[i-1][1] + val;
return 0;
}