X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=arch%2Fpowerpc%2Fboot%2Fns16550.c;h=8c9ead94be06f70b891a6bd90b39f98a0d4bbbd4;hb=5be661a28b12aa43cc83ba935ba2b2c273d0da45;hp=f8f1b2f31412accf4bdfded110af68c813b4a7b7;hpb=6e1af384f1c1742ae6d86bbf779d4fa020c509bc;p=linux-2.6 diff --git a/arch/powerpc/boot/ns16550.c b/arch/powerpc/boot/ns16550.c index f8f1b2f314..8c9ead94be 100644 --- a/arch/powerpc/boot/ns16550.c +++ b/arch/powerpc/boot/ns16550.c @@ -55,15 +55,14 @@ static u8 ns16550_tstc(void) int ns16550_console_init(void *devp, struct serial_console_data *scdp) { int n; - unsigned long reg_phys; + u32 reg_offset; - n = getprop(devp, "virtual-reg", ®_base, sizeof(reg_base)); - if (n != sizeof(reg_base)) { - if (!dt_xlate_reg(devp, 0, ®_phys, NULL)) - return -1; + if (dt_get_virtual_reg(devp, (void **)®_base, 1) < 1) + return -1; - reg_base = (void *)reg_phys; - } + n = getprop(devp, "reg-offset", ®_offset, sizeof(reg_offset)); + if (n == sizeof(reg_offset)) + reg_base += reg_offset; n = getprop(devp, "reg-shift", ®_shift, sizeof(reg_shift)); if (n != sizeof(reg_shift))