diff options
Diffstat (limited to 'arch/powerpc/kernel/prom_parse.c')
-rw-r--r-- | arch/powerpc/kernel/prom_parse.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c index aa40a5307294..b5c96af955c6 100644 --- a/arch/powerpc/kernel/prom_parse.c +++ b/arch/powerpc/kernel/prom_parse.c | |||
@@ -1042,3 +1042,28 @@ const void *of_get_mac_address(struct device_node *np) | |||
1042 | } | 1042 | } |
1043 | EXPORT_SYMBOL(of_get_mac_address); | 1043 | EXPORT_SYMBOL(of_get_mac_address); |
1044 | 1044 | ||
1045 | int of_irq_to_resource(struct device_node *dev, int index, struct resource *r) | ||
1046 | { | ||
1047 | int irq = irq_of_parse_and_map(dev, index); | ||
1048 | |||
1049 | /* Only dereference the resource if both the | ||
1050 | * resource and the irq are valid. */ | ||
1051 | if (r && irq != NO_IRQ) { | ||
1052 | r->start = r->end = irq; | ||
1053 | r->flags = IORESOURCE_IRQ; | ||
1054 | } | ||
1055 | |||
1056 | return irq; | ||
1057 | } | ||
1058 | EXPORT_SYMBOL_GPL(of_irq_to_resource); | ||
1059 | |||
1060 | void __iomem *of_iomap(struct device_node *np, int index) | ||
1061 | { | ||
1062 | struct resource res; | ||
1063 | |||
1064 | if (of_address_to_resource(np, index, &res)) | ||
1065 | return NULL; | ||
1066 | |||
1067 | return ioremap(res.start, 1 + res.end - res.start); | ||
1068 | } | ||
1069 | EXPORT_SYMBOL(of_iomap); | ||