* interrupts disabled.
         */
        pm_runtime_get_sync(port->dev);
-       spin_lock_irq(&port->lock);
+       uart_port_lock_irq(port);
 
        /*
         * Update the per-port timeout.
        }
        omap8250_restore_regs(up);
 
-       spin_unlock_irq(&up->port.lock);
+       uart_port_unlock_irq(&up->port);
        pm_runtime_mark_last_busy(port->dev);
        pm_runtime_put_autosuspend(port->dev);
 
        pm_runtime_get_sync(port->dev);
 
        /* Synchronize UART_IER access against the console. */
-       spin_lock_irq(&port->lock);
+       uart_port_lock_irq(port);
 
        serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
        efr = serial_in(up, UART_EFR);
        serial_out(up, UART_EFR, efr);
        serial_out(up, UART_LCR, 0);
 
-       spin_unlock_irq(&port->lock);
+       uart_port_unlock_irq(port);
 
        pm_runtime_mark_last_busy(port->dev);
        pm_runtime_put_autosuspend(port->dev);
                unsigned long delay;
 
                /* Synchronize UART_IER access against the console. */
-               spin_lock(&port->lock);
+               uart_port_lock(port);
                up->ier = port->serial_in(port, UART_IER);
                if (up->ier & (UART_IER_RLSI | UART_IER_RDI)) {
                        port->ops->stop_rx(port);
                         */
                        cancel_delayed_work(&up->overrun_backoff);
                }
-               spin_unlock(&port->lock);
+               uart_port_unlock(port);
 
                delay = msecs_to_jiffies(up->overrun_backoff_time_ms);
                schedule_delayed_work(&up->overrun_backoff, delay);
        }
 
        /* Synchronize UART_IER access against the console. */
-       spin_lock_irq(&port->lock);
+       uart_port_lock_irq(port);
        up->ier = UART_IER_RLSI | UART_IER_RDI;
        serial_out(up, UART_IER, up->ier);
-       spin_unlock_irq(&port->lock);
+       uart_port_unlock_irq(port);
 
 #ifdef CONFIG_PM
        up->capabilities |= UART_CAP_RPM;
        serial_out(up, UART_OMAP_WER, priv->wer);
 
        if (up->dma && !(priv->habit & UART_HAS_EFR2)) {
-               spin_lock_irq(&port->lock);
+               uart_port_lock_irq(port);
                up->dma->rx_dma(up);
-               spin_unlock_irq(&port->lock);
+               uart_port_unlock_irq(port);
        }
 
        enable_irq(up->port.irq);
                serial_out(up, UART_OMAP_EFR2, 0x0);
 
        /* Synchronize UART_IER access against the console. */
-       spin_lock_irq(&port->lock);
+       uart_port_lock_irq(port);
        up->ier = 0;
        serial_out(up, UART_IER, 0);
-       spin_unlock_irq(&port->lock);
+       uart_port_unlock_irq(port);
        disable_irq_nosync(up->port.irq);
        dev_pm_clear_wake_irq(port->dev);
 
 
        pm_runtime_get_sync(port->dev);
 
-       spin_lock_irqsave(&port->lock, flags);
+       uart_port_lock_irqsave(port, &flags);
        port->ops->stop_rx(port);
        priv->throttled = true;
-       spin_unlock_irqrestore(&port->lock, flags);
+       uart_port_unlock_irqrestore(port, flags);
 
        pm_runtime_mark_last_busy(port->dev);
        pm_runtime_put_autosuspend(port->dev);
        pm_runtime_get_sync(port->dev);
 
        /* Synchronize UART_IER access against the console. */
-       spin_lock_irqsave(&port->lock, flags);
+       uart_port_lock_irqsave(port, &flags);
        priv->throttled = false;
        if (up->dma)
                up->dma->rx_dma(up);
        up->ier |= UART_IER_RLSI | UART_IER_RDI;
        port->read_status_mask |= UART_LSR_DR;
        serial_out(up, UART_IER, up->ier);
-       spin_unlock_irqrestore(&port->lock, flags);
+       uart_port_unlock_irqrestore(port, flags);
 
        pm_runtime_mark_last_busy(port->dev);
        pm_runtime_put_autosuspend(port->dev);
        unsigned long flags;
 
        /* Synchronize UART_IER access against the console. */
-       spin_lock_irqsave(&p->port.lock, flags);
+       uart_port_lock_irqsave(&p->port, &flags);
 
        /*
         * If the tx status is not DMA_COMPLETE, then this is a delayed
         */
        if (dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state) !=
                        DMA_COMPLETE) {
-               spin_unlock_irqrestore(&p->port.lock, flags);
+               uart_port_unlock_irqrestore(&p->port, flags);
                return;
        }
        __dma_rx_do_complete(p);
                        omap_8250_rx_dma(p);
        }
 
-       spin_unlock_irqrestore(&p->port.lock, flags);
+       uart_port_unlock_irqrestore(&p->port, flags);
 }
 
 static void omap_8250_rx_dma_flush(struct uart_8250_port *p)
        dma_sync_single_for_cpu(dma->txchan->device->dev, dma->tx_addr,
                                UART_XMIT_SIZE, DMA_TO_DEVICE);
 
-       spin_lock_irqsave(&p->port.lock, flags);
+       uart_port_lock_irqsave(&p->port, &flags);
 
        dma->tx_running = 0;
 
                serial8250_set_THRI(p);
        }
 
-       spin_unlock_irqrestore(&p->port.lock, flags);
+       uart_port_unlock_irqrestore(&p->port, flags);
 }
 
 static int omap_8250_tx_dma(struct uart_8250_port *p)
                return IRQ_HANDLED;
        }
 
-       spin_lock(&port->lock);
+       uart_port_lock(port);
 
        status = serial_port_in(port, UART_LSR);
 
                up = serial8250_get_port(priv->line);
 
        if (up && omap8250_lost_context(up)) {
-               spin_lock_irq(&up->port.lock);
+               uart_port_lock_irq(&up->port);
                omap8250_restore_regs(up);
-               spin_unlock_irq(&up->port.lock);
+               uart_port_unlock_irq(&up->port);
        }
 
        if (up && up->dma && up->dma->rxchan && !(priv->habit & UART_HAS_EFR2)) {
-               spin_lock_irq(&up->port.lock);
+               uart_port_lock_irq(&up->port);
                omap_8250_rx_dma(up);
-               spin_unlock_irq(&up->port.lock);
+               uart_port_unlock_irq(&up->port);
        }
 
        priv->latency = priv->calc_latency;