Re: [PATCH 22/76] serial: Make uart_port's ioport "unsigned long".

From: Josh Boyer
Date: Mon Oct 06 2008 - 08:55:14 EST


On Sun, Oct 05, 2008 at 05:07:41PM +0100, Alan Cox wrote:
>From: David Miller <davem@xxxxxxxxxxxxx>
>
>Otherwise the top 32-bits of the resource value get chopped
>off on 64-bit systems, and the resulting I/O accesses go to
>random places.
>
>Thanks to testing and debugging by Josip Rodin, which helped
>track this down.
>
>Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
>Signed-off-by: Alan Cox <alan@xxxxxxxxxx>
>---
>
> include/linux/serial_core.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
>diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
>index 3b2f6c0..e27f216 100644
>--- a/include/linux/serial_core.h
>+++ b/include/linux/serial_core.h
>@@ -241,7 +241,7 @@ typedef unsigned int __bitwise__ upf_t;
>
> struct uart_port {
> spinlock_t lock; /* port lock */
>- unsigned int iobase; /* in/out[bwl] */
>+ unsigned long iobase; /* in/out[bwl] */

Does using resource_size_t make more sense here? There are
32-bit CPUs that have 64-bit address spaces. (Perhaps not
that use iobase, but it might be cleaner in general.)

josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/