diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2005-12-14 23:00:57 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-08 23:05:56 -0500 |
commit | f2c4583a381c584c8c025048071a120cc9562ded (patch) | |
tree | 53d6a1d30a3be72f021738c97853cff55a800070 /arch/powerpc/kernel/prom_parse.c | |
parent | a04c8780fd234aeeba5e87f7e37beffd05ef21ae (diff) |
[PATCH] powerpc: pci_address_to_pio fix
This fixes pci_address_to_pio() to return an unsigned long (to be safe)
and fixes a bug in the implementation that caused it to return a bogus
IO port number
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/prom_parse.c')
-rw-r--r-- | arch/powerpc/kernel/prom_parse.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/prom_parse.c b/arch/powerpc/kernel/prom_parse.c index 5b764277f470..309ae1d5fa77 100644 --- a/arch/powerpc/kernel/prom_parse.c +++ b/arch/powerpc/kernel/prom_parse.c | |||
@@ -503,9 +503,9 @@ static int __of_address_to_resource(struct device_node *dev, u32 *addrp, | |||
503 | return -EINVAL; | 503 | return -EINVAL; |
504 | memset(r, 0, sizeof(struct resource)); | 504 | memset(r, 0, sizeof(struct resource)); |
505 | if (flags & IORESOURCE_IO) { | 505 | if (flags & IORESOURCE_IO) { |
506 | unsigned int port; | 506 | unsigned long port; |
507 | port = pci_address_to_pio(taddr); | 507 | port = pci_address_to_pio(taddr); |
508 | if (port == (unsigned int)-1) | 508 | if (port == (unsigned long)-1) |
509 | return -EINVAL; | 509 | return -EINVAL; |
510 | r->start = port; | 510 | r->start = port; |
511 | r->end = port + size - 1; | 511 | r->end = port + size - 1; |