Re: [PATCH 4/5] Centralise NO_IRQ definition

From: Linus Torvalds
Date: Mon Nov 21 2005 - 14:27:08 EST




On Mon, 21 Nov 2005, Matthew Wilcox wrote:
>
> On Mon, Nov 21, 2005 at 10:55:24AM -0800, Linus Torvalds wrote:
> > Quite frankly, if we change [PCI_]NO_IRQ to -1, there's almost certainly
> > going to be a lot of drivers breaking.
>
> There's only one driver using NO_IRQ today (outside of architectures
> which define NO_IRQ to -1, that is). So *this* series of patches should
> break nothing.

Right. But the point is that most drivers will do something like

if (!dev->irq)
return;

(whatever, made up). And that having NO_IRQ be anything but 0 is thus
fundamentally broken.

Because the fact is, NO_IRQ _is_ zero. And exactly because it's zero, and
that is encoded everywhere, nobody uses it.

> That's a common misreading of the PCI spec -- it actually says the
> opposite.

I'm NOT talking about PCI specs.

I'm talking about real hardware.

Read pretty much _any_ data-sheet for an interrupt router, and you'll see
that the bit pattern 0000 means _disabled_.

In other words, I'm talking about HARD REALITY.

I know, it's a bitch.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/