diff options
author | Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> | 2007-02-06 12:03:31 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-05-02 16:40:55 +1000 |
commit | c0b3ae14f14f53fb0d0453feeeb830a080726155 (patch) | |
tree | 29b9d4c01f27faff8390b9b19d56ac85ef790945 | |
parent | 0eb2e6019ae8e76a537bdca07b31e1524a3bba48 (diff) | |
download | blackbird-op-linux-c0b3ae14f14f53fb0d0453feeeb830a080726155.tar.gz blackbird-op-linux-c0b3ae14f14f53fb0d0453feeeb830a080726155.zip |
[POWERPC] Move of_irq_to_resource from prom.h to prom_parse.c
In the powerpc architecture, of_irq_to_resource, currently sitting in
prom.h, needs irq_of_parse_and_map and NO_IRQ from asm-powerpc/irq.h.
The solution suggested by Benjamin Herrenschmidt is to move it to
arch/powerpc/kernel/prom_parse.c.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/kernel/prom_parse.c | 14 | ||||
-rw-r--r-- | include/asm-powerpc/prom.h | 15 |
2 files changed, 16 insertions, 13 deletions
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c index aa40a5307294..78ee8d5b07ce 100644 --- a/arch/powerpc/kernel/prom_parse.c +++ b/arch/powerpc/kernel/prom_parse.c @@ -1042,3 +1042,17 @@ const void *of_get_mac_address(struct device_node *np) } EXPORT_SYMBOL(of_get_mac_address); +int of_irq_to_resource(struct device_node *dev, int index, struct resource *r) +{ + int irq = irq_of_parse_and_map(dev, index); + + /* Only dereference the resource if both the + * resource and the irq are valid. */ + if (r && irq != NO_IRQ) { + r->start = r->end = irq; + r->flags = IORESOURCE_IRQ; + } + + return irq; +} +EXPORT_SYMBOL_GPL(of_irq_to_resource); diff --git a/include/asm-powerpc/prom.h b/include/asm-powerpc/prom.h index ec400f608e16..1375f8c91612 100644 --- a/include/asm-powerpc/prom.h +++ b/include/asm-powerpc/prom.h @@ -334,19 +334,8 @@ extern int of_irq_map_one(struct device_node *device, int index, struct pci_dev; extern int of_irq_map_pci(struct pci_dev *pdev, struct of_irq *out_irq); -static inline int of_irq_to_resource(struct device_node *dev, int index, struct resource *r) -{ - int irq = irq_of_parse_and_map(dev, index); - - /* Only dereference the resource if both the - * resource and the irq are valid. */ - if (r && irq != NO_IRQ) { - r->start = r->end = irq; - r->flags = IORESOURCE_IRQ; - } - - return irq; -} +extern int of_irq_to_resource(struct device_node *dev, int index, + struct resource *r); static inline void __iomem *of_iomap(struct device_node *np, int index) { |