.irq            = SMC1_IRQ,
                        .ops            = &cpm_uart_pops,
                        .iotype         = UPIO_MEM,
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SMC1].port.lock),
                },
                .flags = FLAG_SMC,
                .tx_nrfifos = TX_NUM_FIFO,
                        .irq            = SMC2_IRQ,
                        .ops            = &cpm_uart_pops,
                        .iotype         = UPIO_MEM,
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SMC2].port.lock),
                },
                .flags = FLAG_SMC,
                .tx_nrfifos = TX_NUM_FIFO,
                        .irq            = SCC1_IRQ,
                        .ops            = &cpm_uart_pops,
                        .iotype         = UPIO_MEM,
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC1].port.lock),
                },
                .tx_nrfifos = TX_NUM_FIFO,
                .tx_fifosize = TX_BUF_SIZE,
                        .irq            = SCC2_IRQ,
                        .ops            = &cpm_uart_pops,
                        .iotype         = UPIO_MEM,
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC2].port.lock),
                },
                .tx_nrfifos = TX_NUM_FIFO,
                .tx_fifosize = TX_BUF_SIZE,
                        .irq            = SCC3_IRQ,
                        .ops            = &cpm_uart_pops,
                        .iotype         = UPIO_MEM,
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC3].port.lock),
                },
                .tx_nrfifos = TX_NUM_FIFO,
                .tx_fifosize = TX_BUF_SIZE,
                        .irq            = SCC4_IRQ,
                        .ops            = &cpm_uart_pops,
                        .iotype         = UPIO_MEM,
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(cpm_uart_ports[UART_SCC4].port.lock),
                },
                .tx_nrfifos = TX_NUM_FIFO,
                .tx_fifosize = TX_BUF_SIZE,
 
 static struct s3c24xx_uart_port s3c24xx_serial_ports[NR_PORTS] = {
        [0] = {
                .port = {
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[0].port.lock),
                        .iotype         = UPIO_MEM,
                        .irq            = IRQ_S3CUART_RX0,
                        .uartclk        = 0,
        },
        [1] = {
                .port = {
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[1].port.lock),
                        .iotype         = UPIO_MEM,
                        .irq            = IRQ_S3CUART_RX1,
                        .uartclk        = 0,
 
        [2] = {
                .port = {
-                       .lock           = SPIN_LOCK_UNLOCKED,
+                       .lock           = __SPIN_LOCK_UNLOCKED(s3c24xx_serial_ports[2].port.lock),
                        .iotype         = UPIO_MEM,
                        .irq            = IRQ_S3CUART_RX2,
                        .uartclk        = 0,