summaryrefslogtreecommitdiff
path: root/sys/dev/uart/uart_cpu_ia64.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/uart/uart_cpu_ia64.c')
-rw-r--r--sys/dev/uart/uart_cpu_ia64.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/dev/uart/uart_cpu_ia64.c b/sys/dev/uart/uart_cpu_ia64.c
index 8fa5b058e325..eeaea3b479cf 100644
--- a/sys/dev/uart/uart_cpu_ia64.c
+++ b/sys/dev/uart/uart_cpu_ia64.c
@@ -56,6 +56,7 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
{
struct dig64_hcdp_table *tbl;
struct dig64_hcdp_entry *ent;
+ bus_addr_t addr;
unsigned int i, ivar;
/*
@@ -74,14 +75,14 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
ent->type != DIG64_HCDP_DBGPORT)
continue;
+ addr = ent->address.addr_high;
+ addr = (addr << 32) + ent->address.addr_low;
di->ops = uart_ns8250_ops;
- di->bas.iobase = (ent->address.addr_high << 32) +
- ent->address.addr_low;
- di->bas.bst = IA64_BUS_SPACE_IO;
+ di->bas.chan = 0;
di->bas.bst = (ent->address.addr_space == 0)
? IA64_BUS_SPACE_MEM : IA64_BUS_SPACE_IO;
- if (bus_space_map(di->bas.bst, di->bas.iobase, 8, 0,
- &di->bas.bsh) != 0)
+ if (bus_space_map(di->bas.bst, addr, 8, 0,
+ &di->bas.bsh) != 0)
continue;
di->bas.regshft = 0;
di->bas.rclk = ent->pclock << 4;
@@ -124,7 +125,7 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
* ns8250 and successors on i386.
*/
di->ops = uart_ns8250_ops;
- di->bas.iobase = ivar;
+ di->bas.chan = 0;
di->bas.bst = IA64_BUS_SPACE_IO;
if (bus_space_map(di->bas.bst, ivar, 8, 0, &di->bas.bsh) != 0)
continue;