MN10300: Handle removal of struct uart_info
David Howells [Wed, 23 Sep 2009 09:40:24 +0000 (10:40 +0100)]
Commit ebd2c8f6d2ec4012c267ecb95e72a57b8355a705 removed struct uart_info and
commit bdc04e3174e18f475289fa8f4144f66686326b7e further moved delta_msr_wait.
Fix up the MN10300 on-chip serial port drivers to comply with this.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

arch/mn10300/kernel/asm-offsets.c
arch/mn10300/kernel/mn10300-serial-low.S
arch/mn10300/kernel/mn10300-serial.c

index 82b4007..02dc7e4 100644 (file)
@@ -85,7 +85,7 @@ void foo(void)
        OFFSET(__rx_buffer,             mn10300_serial_port, rx_buffer);
        OFFSET(__rx_inp,                mn10300_serial_port, rx_inp);
        OFFSET(__rx_outp,               mn10300_serial_port, rx_outp);
-       OFFSET(__tx_info_buffer,        mn10300_serial_port, uart.info);
+       OFFSET(__uart_state,            mn10300_serial_port, uart.state);
        OFFSET(__tx_xchar,              mn10300_serial_port, tx_xchar);
        OFFSET(__tx_break,              mn10300_serial_port, tx_break);
        OFFSET(__intr_flags,            mn10300_serial_port, intr_flags);
index 2244853..66702d2 100644 (file)
@@ -130,7 +130,7 @@ ENTRY(mn10300_serial_vdma_tx_handler)
        or      d2,d2
        bne     mnsc_vdma_tx_xchar
 
-       mov     (__tx_info_buffer,a3),a2 # get the uart_info struct for Tx
+       mov     (__uart_state,a3),a2    # see if the TTY Tx queue has anything in it
        mov     (__xmit_tail,a2),d3
        mov     (__xmit_head,a2),d2
        cmp     d3,d2
index 2fd5966..229b710 100644 (file)
@@ -391,7 +391,7 @@ static int mask_test_and_clear(volatile u8 *ptr, u8 mask)
 static void mn10300_serial_receive_interrupt(struct mn10300_serial_port *port)
 {
        struct uart_icount *icount = &port->uart.icount;
-       struct tty_struct *tty = port->uart.info->port.tty;
+       struct tty_struct *tty = port->uart.state->port.tty;
        unsigned ix;
        int count;
        u8 st, ch, push, status, overrun;
@@ -566,16 +566,16 @@ static void mn10300_serial_transmit_interrupt(struct mn10300_serial_port *port)
 {
        _enter("%s", port->name);
 
-       if (!port->uart.info || !port->uart.info->port.tty) {
+       if (!port->uart.state || !port->uart.state->port.tty) {
                mn10300_serial_dis_tx_intr(port);
                return;
        }
 
        if (uart_tx_stopped(&port->uart) ||
-           uart_circ_empty(&port->uart.info->xmit))
+           uart_circ_empty(&port->uart.state->xmit))
                mn10300_serial_dis_tx_intr(port);
 
-       if (uart_circ_chars_pending(&port->uart.info->xmit) < WAKEUP_CHARS)
+       if (uart_circ_chars_pending(&port->uart.state->xmit) < WAKEUP_CHARS)
                uart_write_wakeup(&port->uart);
 }
 
@@ -596,7 +596,7 @@ static void mn10300_serial_cts_changed(struct mn10300_serial_port *port, u8 st)
        *port->_control = ctr;
 
        uart_handle_cts_change(&port->uart, st & SC2STR_CTS);
-       wake_up_interruptible(&port->uart.info->delta_msr_wait);
+       wake_up_interruptible(&port->uart.state->port.delta_msr_wait);
 }
 
 /*
@@ -705,8 +705,8 @@ static void mn10300_serial_start_tx(struct uart_port *_port)
 
        _enter("%s{%lu}",
               port->name,
-              CIRC_CNT(&port->uart.info->xmit.head,
-                       &port->uart.info->xmit.tail,
+              CIRC_CNT(&port->uart.state->xmit.head,
+                       &port->uart.state->xmit.tail,
                        UART_XMIT_SIZE));
 
        /* kick the virtual DMA controller */