Thread (24 messages) 24 messages, 7 authors, 2009-06-16

Re: [PATCH 2/2] uio: add an of_genirq driver

From: Hans J. Koch <hidden>
Date: 2009-06-14 23:46:13
Also in: linuxppc-dev, lkml

On Mon, Jun 15, 2009 at 12:12:07AM +0100, Alan Cox wrote:
quoted
quoted
+	if (!uioinfo->irq)
+		uioinfo->irq = UIO_IRQ_NONE;
Please don't do this. It's inconsistent if all other UIO drivers require
people to use UIO_IRQ_NONE and you also allow zero. UIO_IRQ_NONE was
introduced because 0 may be a legal interrupt number on some platforms.
Zero is not a valid IRQ number in the kernel (except in arch specific
depths). IRQ numbers are also *unsigned* so -1 isn't a safe definition.
The above uioinfo->irq is a signed long.
Zero means no IRQ. If any old UIO code is assuming otherwise it wants
fixing.
It doesn't. It won't complain about IRQ 0 and will pass it on to
request_irq, which will probably fail if it is as you say.

I did it that way because I saw IRQ 0 in /proc/interrupts on every PC...
It is the job of the platform to map a physical IRQ 0 to some other
representation if it exists outside of arch specific code.
Funny.
This was
decided some years ago and a large part of the kernel simply doesn't
support any notion of a real IRQ 0.
Can you tell me the reason for that decision or point me to some ml archive?

Thanks,
Hans
Alan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help