Re: [RFC] disable_irq()/enable_irq() semantics and ide-probe.c

From: Benjamin Herrenschmidt
Date: Thu Oct 09 2003 - 03:11:44 EST


> >
> > ObOtherFun: There's another bogosity in quoted ide-probe.c code, according
> > to dwmw2 - he says that there are PCI IDE cards that get IRQ 0, so the
> > test for hwif->irq is b0rken. We probably should stop overloading
> > ->irq == 0 for "none given", but I'm not sure that we *have* a value
> > that would never be used as an IRQ number on all platforms...
>
> The BIOS defines irq 0 in the PCI config space to be "no irq" as far as I
> know, and on all PC platforms I've ever heard of it's not a usable irq for
> generic PCI devices (it's wired to the timer thing).
>
> All PCI routing chipsets I know about also make "irq0" mean "disabled".
>
> Which is not to say that a badly configured setup might not do it, but it
> really sounds fundamentally broken.

Well, irq 0 is a perfectly valid IRQ on a number of non-x86 platforms,
some embedded platforms for example, and iirc, the Apple G5 even has
the serverworks IDE on IRQ 0 ;)

That's why we have defined IRQ_NONE a while ago (this was in 2.4, I
don'tk now if that made the trip to 2.6, I'm away from my sources
at the moment).

Ben.


-
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/