OSDN Git Service

powerpc: Check !irq instead of irq == NO_IRQ and remove NO_IRQ
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Mon, 23 Jan 2023 12:26:46 +0000 (13:26 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 30 Jan 2023 06:53:05 +0000 (17:53 +1100)
commitbab537805a10bdbf55b31324ba4a9599e0651e5e
tree624bc060a0717ac881367c2e8fc18696af1ca778
parent12fd66651df6c807b7b6f420ee0fd420f54991f4
powerpc: Check !irq instead of irq == NO_IRQ and remove NO_IRQ

NO_IRQ is a relic from the old days. It is not used anymore in core
functions. By the way, function irq_of_parse_and_map() returns value 0
on error.

In some drivers, NO_IRQ is erroneously used to check the return of
irq_of_parse_and_map().

It is not a real bug today because the only architectures using the
drivers being fixed by this patch define NO_IRQ as 0, but there are
architectures which define NO_IRQ as -1. If one day those
architectures start using the non fixed drivers, there will be a
problem.

Long time ago Linus advocated for not using NO_IRQ, see
https://lore.kernel.org/all/Pine.LNX.4.64.0511211150040.13959@g5.osdl.org

He re-iterated the same view recently in
https://lore.kernel.org/all/CAHk-=wg2Pkb9kbfbstbB91AJA2SF6cySbsgHG-iQMq56j3VTcA@mail.gmail.com

So test !irq instead of tesing irq == NO_IRQ.

All other usage of NO_IRQ for powerpc were removed in previous cycles so
the time has come to remove NO_IRQ completely for powerpc.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/4b8d4f96140af01dec3a3330924dda8b2451c316.1674476798.git.christophe.leroy@csgroup.eu
arch/powerpc/include/asm/irq.h
arch/powerpc/platforms/44x/fsp2.c