#define IRQ_NAME_SIZE 17
        char                            irq_name[IRQ_NAME_SIZE];
-
-       /* protect the eg20t_port private structure and io access to membase */
-       spinlock_t lock;
 };
 
 /**
        int next = 1;
        u8 msr;
 
-       spin_lock(&priv->lock);
+       uart_port_lock(&priv->port);
        handled = 0;
        while (next) {
                iid = pch_uart_hal_get_iid(priv);
                handled |= (unsigned int)ret;
        }
 
-       spin_unlock(&priv->lock);
+       uart_port_unlock(&priv->port);
        return IRQ_RETVAL(handled);
 }
 
        unsigned long flags;
 
        priv = container_of(port, struct eg20t_port, port);
-       spin_lock_irqsave(&priv->lock, flags);
+       uart_port_lock_irqsave(&priv->port, &flags);
        pch_uart_hal_set_break(priv, ctl);
-       spin_unlock_irqrestore(&priv->lock, flags);
+       uart_port_unlock_irqrestore(&priv->port, flags);
 }
 
 /* Grab any interrupt resources and initialise any low level driver state. */
 
        baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk / 16);
 
-       spin_lock_irqsave(&priv->lock, flags);
-       uart_port_lock(port);
+       uart_port_lock_irqsave(port, &flags);
 
        uart_update_timeout(port, termios->c_cflag, baud);
        rtn = pch_uart_hal_set_line(priv, baud, parity, bits, stb);
                tty_termios_encode_baud_rate(termios, baud, baud);
 
 out:
-       uart_port_unlock(port);
-       spin_unlock_irqrestore(&priv->lock, flags);
+       uart_port_unlock_irqrestore(port, flags);
 }
 
 static const char *pch_uart_type(struct uart_port *port)
 {
        struct eg20t_port *priv;
        unsigned long flags;
-       int priv_locked = 1;
        int port_locked = 1;
        u8 ier;
 
 
        local_irq_save(flags);
        if (priv->port.sysrq) {
-               /* call to uart_handle_sysrq_char already took the priv lock */
-               priv_locked = 0;
                /* serial8250_handle_port() already took the port lock */
                port_locked = 0;
        } else if (oops_in_progress) {
-               priv_locked = spin_trylock(&priv->lock);
                port_locked = uart_port_trylock(&priv->port);
        } else {
-               spin_lock(&priv->lock);
                uart_port_lock(&priv->port);
        }
 
 
        if (port_locked)
                uart_port_unlock(&priv->port);
-       if (priv_locked)
-               spin_unlock(&priv->lock);
        local_irq_restore(flags);
 }
 
        pci_enable_msi(pdev);
        pci_set_master(pdev);
 
-       spin_lock_init(&priv->lock);
-
        iobase = pci_resource_start(pdev, 0);
        mapbase = pci_resource_start(pdev, 1);
        priv->mapbase = mapbase;