Use uint64_t for time types
Unfortunately 'unsigned long long' and 'uint64_t' are not necessarily compatible on 64-bit machines. Use the correct typedef instead of writing the supposed type out in full. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
aac618a32b
commit
19ea4678ca
|
@ -766,7 +766,7 @@ void invalidate_dcache_all(void);
|
||||||
void invalidate_icache_all(void);
|
void invalidate_icache_all(void);
|
||||||
|
|
||||||
/* arch/$(ARCH)/lib/ticks.S */
|
/* arch/$(ARCH)/lib/ticks.S */
|
||||||
unsigned long long get_ticks(void);
|
uint64_t get_ticks(void);
|
||||||
void wait_ticks (unsigned long);
|
void wait_ticks (unsigned long);
|
||||||
|
|
||||||
/* arch/$(ARCH)/lib/time.c */
|
/* arch/$(ARCH)/lib/time.c */
|
||||||
|
|
12
lib/time.c
12
lib/time.c
|
@ -37,7 +37,7 @@ unsigned long notrace timer_read_counter(void)
|
||||||
extern unsigned long __weak timer_read_counter(void);
|
extern unsigned long __weak timer_read_counter(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
unsigned long long __weak notrace get_ticks(void)
|
uint64_t __weak notrace get_ticks(void)
|
||||||
{
|
{
|
||||||
unsigned long now = timer_read_counter();
|
unsigned long now = timer_read_counter();
|
||||||
|
|
||||||
|
@ -45,11 +45,11 @@ unsigned long long __weak notrace get_ticks(void)
|
||||||
if (now < gd->timebase_l)
|
if (now < gd->timebase_l)
|
||||||
gd->timebase_h++;
|
gd->timebase_h++;
|
||||||
gd->timebase_l = now;
|
gd->timebase_l = now;
|
||||||
return ((unsigned long long)gd->timebase_h << 32) | gd->timebase_l;
|
return ((uint64_t)gd->timebase_h << 32) | gd->timebase_l;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Returns time in milliseconds */
|
/* Returns time in milliseconds */
|
||||||
static unsigned long long notrace tick_to_time(unsigned long long tick)
|
static uint64_t notrace tick_to_time(uint64_t tick)
|
||||||
{
|
{
|
||||||
ulong div = get_tbclk();
|
ulong div = get_tbclk();
|
||||||
|
|
||||||
|
@ -74,9 +74,9 @@ unsigned long __weak notrace timer_get_us(void)
|
||||||
return tick_to_time(get_ticks() * 1000);
|
return tick_to_time(get_ticks() * 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long long usec_to_tick(unsigned long usec)
|
static uint64_t usec_to_tick(unsigned long usec)
|
||||||
{
|
{
|
||||||
unsigned long long tick = usec;
|
uint64_t tick = usec;
|
||||||
tick *= get_tbclk();
|
tick *= get_tbclk();
|
||||||
do_div(tick, 1000000);
|
do_div(tick, 1000000);
|
||||||
return tick;
|
return tick;
|
||||||
|
@ -84,7 +84,7 @@ static unsigned long long usec_to_tick(unsigned long usec)
|
||||||
|
|
||||||
void __weak __udelay(unsigned long usec)
|
void __weak __udelay(unsigned long usec)
|
||||||
{
|
{
|
||||||
unsigned long long tmp;
|
uint64_t tmp;
|
||||||
|
|
||||||
tmp = get_ticks() + usec_to_tick(usec); /* get current timestamp */
|
tmp = get_ticks() + usec_to_tick(usec); /* get current timestamp */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue