Re: [PATCH] Fixes q40_irq_startup to return -ENXIO

Nick Krause
2014-07-01T01:56:03Z

Seems fair if there is another way of doing it then I will rewrite this patch.
Cheers Nick

On Mon, Jun 30, 2014 at 1:52 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Mon, Jun 30, 2014 at 7:27 PM, Andreas Schwab <schwab@linux-m68k.org> wrote:
>> Nicholas Krause <xerofoify@gmail.com> writes:
>>
>>> Fixes q40_irq_startup to return -ENXIO for cases 11-13 in the switch
>>> statement of this function to handle these failure cases.
>>>
>>> Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
>>> ---
>>> arch/m68k/q40/q40ints.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c
>>> index 513f9bb..9dfa1ea 100644
>>> --- a/arch/m68k/q40/q40ints.c
>>> +++ b/arch/m68k/q40/q40ints.c
>>> @@ -49,7 +49,7 @@ static unsigned int q40_irq_startup(struct irq_data *data)
>>> case 1: case 2: case 8: case 9:
>>> case 11: case 12: case 13:
>>> printk("%s: ISA IRQ %d not implemented by HW\n", __func__, irq);
>>> - /* FIXME return -ENXIO; */
>>> + return -ENXIO;
>>
>> There must be more to it, given the FIXME.
>
> I think I really just forgot to get rid of it. It was introduced in commit
> c288bf2533e57174b90b07860c4391bcd1ea269c ("m68k/irq: Rename
> irq_controller to irq_chip").
>
> I think I added the FIXME because I got puzzled by the return value change
> from (signed) int to unsigned int, which doesn't match well with a negative
> error number.
>
> However:
> 1. While irq_chip.irq_startup() returns unsigned int, irq_startup()
> does return
> int (why this difference, historical reasons?), so it becomes a negative
> number again later,
> 2. The return value of irq_startup() seems to used in
> kernel/irq/autoprobe.c:probe_irq_on() only, and the actual (non-zero) value
> doesn't matter, just whether it returns zero or non-zero.
>
> So I'm gonna take this patch, unless someone screams with a very good reason.
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
> -- Linus Torvalds