Messages in this thread | | | Date | Mon, 15 Jun 2009 00:12:07 +0100 | From | Alan Cox <> | Subject | Re: [PATCH 2/2] uio: add an of_genirq driver |
| |
> > + 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.
Zero means no IRQ. If any old UIO code is assuming otherwise it wants fixing.
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. This was decided some years ago and a large part of the kernel simply doesn't support any notion of a real IRQ 0.
Alan
| |