aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pnp/interface.c
diff options
context:
space:
mode:
authorBjorn Helgaas <bjorn.helgaas@hp.com>2008-06-27 18:57:06 -0400
committerAndi Kleen <andi@basil.nowhere.org>2008-07-16 17:27:06 -0400
commit169aaffe885c56745188e7913f212a67beaa3b80 (patch)
treec673df17aab31ab453c6552aac917c022c55a7d2 /drivers/pnp/interface.c
parent7aefff51854ccd33599c40b4e360d94cb2b7622f (diff)
PNP: increase I/O port & memory option address sizes
ACPI Address Space Descriptors can be up to 64 bits wide. We should keep track of the whole thing when parsing resource options, so this patch changes PNP port and mem option fields from "unsigned short" and "unsigned int" to "resource_size_t". Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Andi Kleen <ak@linux.intel.com> Acked-by: Rene Herman <rene.herman@gmail.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/pnp/interface.c')
-rw-r--r--drivers/pnp/interface.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/drivers/pnp/interface.c b/drivers/pnp/interface.c
index 249b4078d1ec..b09f67de13d0 100644
--- a/drivers/pnp/interface.c
+++ b/drivers/pnp/interface.c
@@ -53,10 +53,12 @@ static int pnp_printf(pnp_info_buffer_t * buffer, char *fmt, ...)
53static void pnp_print_port(pnp_info_buffer_t * buffer, char *space, 53static void pnp_print_port(pnp_info_buffer_t * buffer, char *space,
54 struct pnp_port *port) 54 struct pnp_port *port)
55{ 55{
56 pnp_printf(buffer, 56 pnp_printf(buffer, "%sport %#llx-%#llx, align %#llx, size %#llx, "
57 "%sport 0x%x-0x%x, align 0x%x, size 0x%x, %i-bit address decoding\n", 57 "%i-bit address decoding\n", space,
58 space, port->min, port->max, 58 (unsigned long long) port->min,
59 port->align ? (port->align - 1) : 0, port->size, 59 (unsigned long long) port->max,
60 port->align ? ((unsigned long long) port->align - 1) : 0,
61 (unsigned long long) port->size,
60 port->flags & IORESOURCE_IO_16BIT_ADDR ? 16 : 10); 62 port->flags & IORESOURCE_IO_16BIT_ADDR ? 16 : 10);
61} 63}
62 64
@@ -148,8 +150,11 @@ static void pnp_print_mem(pnp_info_buffer_t * buffer, char *space,
148{ 150{
149 char *s; 151 char *s;
150 152
151 pnp_printf(buffer, "%sMemory 0x%x-0x%x, align 0x%x, size 0x%x", 153 pnp_printf(buffer, "%sMemory %#llx-%#llx, align %#llx, size %#llx",
152 space, mem->min, mem->max, mem->align, mem->size); 154 space, (unsigned long long) mem->min,
155 (unsigned long long) mem->max,
156 (unsigned long long) mem->align,
157 (unsigned long long) mem->size);
153 if (mem->flags & IORESOURCE_MEM_WRITEABLE) 158 if (mem->flags & IORESOURCE_MEM_WRITEABLE)
154 pnp_printf(buffer, ", writeable"); 159 pnp_printf(buffer, ", writeable");
155 if (mem->flags & IORESOURCE_MEM_CACHEABLE) 160 if (mem->flags & IORESOURCE_MEM_CACHEABLE)