lkml.org 
[lkml]   [2008]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 22/76] serial: Make uart_port's ioport "unsigned long".
On Sun, Oct 05, 2008 at 05:07:41PM +0100, Alan Cox wrote:
>From: David Miller <davem@davemloft.net>
>
>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@davemloft.net>
>Signed-off-by: Alan Cox <alan@redhat.com>
>---
>
> 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


\
 
 \ /
  Last update: 2008-10-06 14:57    [from the cache]
©2003-2011 Jasper Spaans