Re: [GIT PULL] virtio: fixes, features
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2022-10-12 17:22:42
Also in:
kvm, linux-pci, linuxppc-dev, lkml, virtualization
From: Linus Torvalds <torvalds@linux-foundation.org>
Date: 2022-10-12 17:22:42
Also in:
kvm, linux-pci, linuxppc-dev, lkml, virtualization
On Wed, Oct 12, 2022 at 8:51 AM Michael S. Tsirkin [off-list ref] wrote:
Are you sure?
MichaelE is right. This is just bogus historical garbage:
arch/arm/include/asm/irq.h:#ifndef NO_IRQ arch/arm/include/asm/irq.h:#define NO_IRQ ((unsigned int)(-1))
that I've tried to get rid of for years, but for some reason it just won't die.
NO_IRQ should be zero. Or rather, it shouldn't exist at all. It's a bogus thing.
You can see just how bogus it is from grepping for it - the users are
all completely and utterly confused, and all are entirely historical
brokenness.
The correct way to check for "no irq" doesn't use NO_IRQ at all, it just does
if (dev->irq) ...
which is why you will only find a few instances of NO_IRQ in the tree
in the first place.
The NO_IRQ thing is mainly actually defined by a few drivers that just
never got converted to the proper world order, and even then you can
see the confusion (ie some drivers use "-1", others use "0", and yet
others use "((unsigned int)(-1)".
Linus