diff options
author | Josh Boyer <jwboyer@linux.vnet.ibm.com> | 2007-07-23 21:43:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-24 15:24:58 -0400 |
commit | 4f640efb3170dbcf99a37a3cc99060647b95428c (patch) | |
tree | b600b237e4efc1c7dab2b362eae23e076e5ce8f9 /drivers/serial/8250.c | |
parent | f695baf2df9e0413d3521661070103711545207a (diff) |
Use resource_size_t for serial port IO addresses
At present, various parts of the serial code use unsigned long to define
resource addresses. This is a problem, because some 32-bit platforms have
physical addresses larger than 32-bits, and have mmio serial uarts located
above the 4GB point.
This patch changes the type of mapbase in both struct uart_port and struct
plat_serial8250_port to resource_size_t, which can be configured to be 64
bits on such platforms. The mapbase in serial_struct can't safely be
changed, because that structure is user visible.
Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/serial/8250.c')
-rw-r--r-- | drivers/serial/8250.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 0b3ec38ae614..2f5a5ac1b271 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -2650,8 +2650,9 @@ static int __devinit serial8250_probe(struct platform_device *dev) | |||
2650 | ret = serial8250_register_port(&port); | 2650 | ret = serial8250_register_port(&port); |
2651 | if (ret < 0) { | 2651 | if (ret < 0) { |
2652 | dev_err(&dev->dev, "unable to register port at index %d " | 2652 | dev_err(&dev->dev, "unable to register port at index %d " |
2653 | "(IO%lx MEM%lx IRQ%d): %d\n", i, | 2653 | "(IO%lx MEM%llx IRQ%d): %d\n", i, |
2654 | p->iobase, p->mapbase, p->irq, ret); | 2654 | p->iobase, (unsigned long long)p->mapbase, |
2655 | p->irq, ret); | ||
2655 | } | 2656 | } |
2656 | } | 2657 | } |
2657 | return 0; | 2658 | return 0; |