[U-Boot] [PATCH] AVR32: fix timer_init() function
Sven Schnelle
svens at stackframe.org
Tue Oct 4 16:37:50 CEST 2011
Andreas Bießmann <andreas.devel at googlemail.com> writes:
>> - if (set_interrupt_handler(0, &timer_interrupt_handler, 3))
>> - return;
>> + if ((ret = set_interrupt_handler(0, &timer_interrupt_handler, 3)))
>> + return ret;
> can you do it like this:
>
> ret = set_interrupt_handler();
> if (ret)
> return ret;
Sure, modified patch attached. Thanks!
--
AVR32: fix timer_init() function
timer_init() now returns an int (the error code) instead of void.
This makes compilation fail with:
interrupts.c:111: error: conflicting types for 'timer_init'
/home/svens/u-boot/u-boot/include/common.h:246: error: previous declaration of 'timer_init' was here
make[1]: *** [interrupts.o] Error 1
Signed-off-by: Sven Schnelle <svens at stackframe.org>
---
arch/avr32/cpu/interrupts.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/arch/avr32/cpu/interrupts.c b/arch/avr32/cpu/interrupts.c
index 6681e13..97910b3 100644
--- a/arch/avr32/cpu/interrupts.c
+++ b/arch/avr32/cpu/interrupts.c
@@ -107,10 +107,11 @@ static int set_interrupt_handler(unsigned int nr, void (*handler)(void),
return 0;
}
-void timer_init(void)
+int timer_init(void)
{
extern void timer_interrupt_handler(void);
u64 tmp;
+ int ret;
sysreg_write(COUNT, 0);
@@ -119,9 +120,11 @@ void timer_init(void)
do_div(tmp, gd->cpu_hz);
tb_factor = (u32)tmp;
- if (set_interrupt_handler(0, &timer_interrupt_handler, 3))
- return;
+ ret = set_interrupt_handler(0, &timer_interrupt_handler, 3);
+ if (ret)
+ return ret;
/* For all practical purposes, this gives us an overflow interrupt */
sysreg_write(COMPARE, 0xffffffff);
+ return 0;
}
--
1.7.6.3
More information about the U-Boot
mailing list