summaryrefslogtreecommitdiffstats
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.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/uart/uart_cpu_ia64.c b/sys/dev/uart/uart_cpu_ia64.c
index 32073fc..9340ae5 100644
--- a/sys/dev/uart/uart_cpu_ia64.c
+++ b/sys/dev/uart/uart_cpu_ia64.c
@@ -85,9 +85,11 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
di->bas.bst = IA64_BUS_SPACE_IO;
di->bas.bst = (ent->address.addr_space == 0)
? IA64_BUS_SPACE_MEM : IA64_BUS_SPACE_IO;
- di->bas.bsh = ent->address.addr_high;
- di->bas.bsh = (di->bas.bsh << 32) +
- ent->address.addr_low;
+ if (bus_space_map(di->bas.bst,
+ (ent->address.addr_high << 32) +
+ ent->address.addr_low,
+ 8, 0, &di->bas.bsh) != 0)
+ return (ENXIO);
di->bas.regshft = 0;
di->bas.rclk = ent->pclock << 4;
/* We don't deal with 64-bit baud rates. */
@@ -130,7 +132,8 @@ uart_cpu_getdev(int devtype, struct uart_devinfo *di)
*/
di->ops = uart_ns8250_ops;
di->bas.bst = IA64_BUS_SPACE_IO;
- di->bas.bsh = ivar;
+ if (bus_space_map(di->bas.bst, ivar, 8, 0, &di->bas.bsh) != 0)
+ return (ENXIO);
di->bas.regshft = 0;
di->bas.rclk = 0;
if (resource_int_value("uart", i, "baud", &ivar) != 0)
OpenPOWER on IntegriCloud