
10 Jul
2012
10 Jul
'12
10:52 a.m.
On 07/09/2012 11:22 PM, Simon Glass wrote:
Hi Michal,
On Mon, Jul 9, 2012 at 2:20 AM, Michal Simek <monstr@monstr.eu mailto:monstr@monstr.eu> wrote:
Return value to find out if un/registration was succesful. Signed-off-by: Michal Simek <monstr@monstr.eu <mailto:monstr@monstr.eu>> --- arch/microblaze/cpu/interrupts.c | 15 +++++++++------ arch/microblaze/include/asm/microblaze_intc.h | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/arch/microblaze/cpu/interrupts.c b/arch/microblaze/cpu/interrupts.c index ee67082..871cefb 100644 --- a/arch/microblaze/cpu/interrupts.c +++ b/arch/microblaze/cpu/interrupts.c @@ -92,13 +92,13 @@ static void disable_one_interrupt(int irq) } /* adding new handler for interrupt */ -void install_interrupt_handler (int irq, interrupt_handler_t * hdlr, void *arg) +int install_interrupt_handler(int irq, interrupt_handler_t *hdlr, void *arg) { struct irq_action *act; /* irq out of range */ if ((irq < 0) || (irq > irq_no)) { puts ("IRQ out of range\n"); - return; + return -1; } act = &vecs[irq]; if (hdlr) { /* enable */ @@ -106,11 +106,14 @@ void install_interrupt_handler (int irq, interrupt_handler_t * hdlr, void *arg) act->arg = arg; act->count = 0; enable_one_interrupt (irq); - } else { /* disable */ - act->handler = (interrupt_handler_t *) def_hdlr; - act->arg = (void *)irq; - disable_one_interrupt (irq); + return 0; } + + /* Disable */ + act->handler = (interrupt_handler_t *) def_hdlr; + act->arg = (void *)irq; + disable_one_interrupt(irq); + return 1; } /* initialization interrupt controller - hardware */ diff --git a/arch/microblaze/include/asm/microblaze_intc.h b/arch/microblaze/include/asm/microblaze_intc.h index 6142b9c..359efe4 100644 --- a/arch/microblaze/include/asm/microblaze_intc.h +++ b/arch/microblaze/include/asm/microblaze_intc.h @@ -39,7 +39,7 @@ struct irq_action { int count; /* number of interrupt */ }; -void install_interrupt_handler (int irq, interrupt_handler_t * hdlr, +int install_interrupt_handler(int irq, interrupt_handler_t *hdlr, void *arg);
Perhaps you should add a comment here as to what the return value is, and maybe the other args also?
Make sense. Will be in v2.
Thanks, Michal
--
Michal Simek, Ing. (M.Eng)
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/
Microblaze U-BOOT custodian