Re: [PATCH] usb: Replace NO_IRQ by 0

From: Christophe Leroy
Date: Thu Nov 10 2022 - 12:57:09 EST


Le 06/10/2022 à 16:24, Alan Stern a écrit :
> 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.

I sent v2 with more details in the commit message.

Thanks
Christophe