Message ID | 1341825639-23475-4-git-send-email-monstr@monstr.eu |
---|---|
State | Accepted |
Delegated to: | Michal Simek |
Headers | show |
Hi Michal, On Mon, Jul 9, 2012 at 2:20 AM, Michal Simek <monstr@monstr.eu> wrote: > Return value to find out if un/registration was succesful. > > Signed-off-by: Michal Simek <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? > int interrupts_init(void); > -- > 1.7.0.4 > > Regards, Simon
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
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); int interrupts_init(void);
Return value to find out if un/registration was succesful. Signed-off-by: Michal Simek <monstr@monstr.eu> --- arch/microblaze/cpu/interrupts.c | 15 +++++++++------ arch/microblaze/include/asm/microblaze_intc.h | 2 +- 2 files changed, 10 insertions(+), 7 deletions(-)