Re: [PATCH] usb: Replace NO_IRQ by 0

From: Alan Stern
Date: Thu Oct 06 2022 - 10:24:56 EST


On Thu, Oct 06, 2022 at 02:01:57PM +0000, Christophe Leroy wrote:
>
>
> Le 06/10/2022 à 15:50, Alan Stern a écrit :
> > On Thu, Oct 06, 2022 at 07:15:44AM +0200, Christophe Leroy wrote:
> >> NO_IRQ is used to check the return of irq_of_parse_and_map().
> >>
> >> On some architecture NO_IRQ is 0, on other architectures it is -1.
> >>
> >> irq_of_parse_and_map() returns 0 on error, independent of NO_IRQ.
> >
> > This isn't clear. Does absence of an irq count as an error? In other
> > words, will irq_of_parse_and_map() sometimes return 0 and other times
> > return NO_IRQ? What about architectures on which 0 is a valid irq
> > number?
>
> NO_IRQ doesn't exist anywhere in core functions. Only some drivers and
> some architectures have relics of it.
>
> irq_of_parse_and_map() will always return 0 on error.
>
> 0 can't be a valid logical IRQ number. It may only be a valid hwirq
> number but it will always be translated to a non-zero logical irq number.
>
> I'm trying to get rid of NO_IRQ completely in powerpc code, therefore
> trying to clean-up all drivers used by powerpc architecture.
>
> Long time ago Linus advocated for not using NO_IRQ, see
> https://lkml.org/lkml/2005/11/21/221

Okay, good. Please resubmit the patch and include some of these things
in the patch description.

Alan Stern