[PATCH] of_irq_to_resource now returns the virq
Benjamin Herrenschmidt
benh at kernel.crashing.org
Tue Nov 7 11:04:22 EST 2006
On Mon, 2006-11-06 at 17:13 -0600, Andy Fleming wrote:
> Mostly this is to allow for error checking (check the return for NO_IRQ)
>
> Signed-off-by: Andrew Fleming <afleming at freescale.com>
> ---
> For 2.6.20
>
> include/asm-powerpc/prom.h | 13 ++++++++++---
> 1 files changed, 10 insertions(+), 3 deletions(-)
>
> diff --git a/include/asm-powerpc/prom.h b/include/asm-powerpc/prom.h
> index 933ba27..e9226e3 100644
> --- a/include/asm-powerpc/prom.h
> +++ b/include/asm-powerpc/prom.h
> @@ -334,10 +334,17 @@ extern int of_irq_map_one(struct device_
> struct pci_dev;
> extern int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq);
>
> -static inline void of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
> +static inline int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
> {
> - r->start = r->end = irq_of_parse_and_map(dev, index);
> - r->flags = IORESOURCE_IRQ;
> + int irq = irq_of_parse_and_map(dev, index);
> +
> + /* Only dereference the resource if the irq is valid. */
> + if (irq != NO_IRQ) {
What about if (irq != NO_IRQ && r) ?
> + r->start = r->end = irq;
> + r->flags = IORESOURCE_IRQ;
> + }
> +
> + return irq;
> }
That way, if somebody doesn't care about the resource, just pass NULL,
though I suppose we should then also change the name of the function to
something like of_map_one_irq() ..
Ben.
More information about the Linuxppc-dev
mailing list