#include <linux/delay.h> /* for udelay */
 #include <linux/device.h>
 #include <asm/io.h>
+#include <asm/irq.h>
 #include <asm/parisc-device.h>
 
 #ifdef CONFIG_MAGIC_SYSRQ
        for(i = 0; i < ports; ++i, ++port_cnt) {
                port = &mux_ports[port_cnt];
                port->iobase    = 0;
-               port->mapbase   = dev->hpa + MUX_OFFSET + (i * MUX_LINE_OFFSET);
+               port->mapbase   = dev->hpa.start + MUX_OFFSET +
+                                               (i * MUX_LINE_OFFSET);
                port->membase   = ioremap(port->mapbase, MUX_LINE_OFFSET);
                port->iotype    = SERIAL_IO_MEM;
                port->type      = PORT_MUX;
-               port->irq       = SERIAL_IRQ_NONE;
+               port->irq       = NO_IRQ;
                port->uartclk   = 0;
                port->fifosize  = MUX_FIFO_SIZE;
                port->ops       = &mux_pops;
                port->flags     = UPF_BOOT_AUTOCONF;
                port->line      = port_cnt;
+               spin_lock_init(&port->lock);
                status = uart_add_one_port(&mux_driver, port);
                BUG_ON(status);
        }