[U-Boot] [PATCH] AVR32: fix timer_init() function
Andreas Bießmann
andreas.devel at googlemail.com
Tue Oct 4 19:19:08 CEST 2011
Dear Sven,
two things:
a) please read http://www.denx.de/wiki/view/U-Boot/Patches#Sending_updated_patch_versions
b) my first hint wasn't that good ...
Am 04.10.2011 um 16:37 schrieb Sven Schnelle:
> 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;
Since set_interrupt_handler() does not return any useful information on error I think it is enough to return -EINVAL as set_interrupt_handler() does. If we do it that way we can omit the 'int ret' value completely.
best regards
Andreas Bießmann
More information about the U-Boot
mailing list