Merge git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/v4l-dvb
[pandora-kernel.git] / drivers / serial / mcf.c
index a7d4360..b2001c5 100644 (file)
@@ -69,7 +69,7 @@ static unsigned int mcf_tx_empty(struct uart_port *port)
 
 static unsigned int mcf_get_mctrl(struct uart_port *port)
 {
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned long flags;
        unsigned int sigs;
 
@@ -87,7 +87,7 @@ static unsigned int mcf_get_mctrl(struct uart_port *port)
 
 static void mcf_set_mctrl(struct uart_port *port, unsigned int sigs)
 {
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned long flags;
 
        spin_lock_irqsave(&port->lock, flags);
@@ -104,7 +104,7 @@ static void mcf_set_mctrl(struct uart_port *port, unsigned int sigs)
 
 static void mcf_start_tx(struct uart_port *port)
 {
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned long flags;
 
        spin_lock_irqsave(&port->lock, flags);
@@ -117,7 +117,7 @@ static void mcf_start_tx(struct uart_port *port)
 
 static void mcf_stop_tx(struct uart_port *port)
 {
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned long flags;
 
        spin_lock_irqsave(&port->lock, flags);
@@ -130,7 +130,7 @@ static void mcf_stop_tx(struct uart_port *port)
 
 static void mcf_stop_rx(struct uart_port *port)
 {
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned long flags;
 
        spin_lock_irqsave(&port->lock, flags);
@@ -163,7 +163,7 @@ static void mcf_enable_ms(struct uart_port *port)
 
 static int mcf_startup(struct uart_port *port)
 {
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned long flags;
 
        spin_lock_irqsave(&port->lock, flags);
@@ -189,7 +189,7 @@ static int mcf_startup(struct uart_port *port)
 
 static void mcf_shutdown(struct uart_port *port)
 {
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned long flags;
 
        spin_lock_irqsave(&port->lock, flags);
@@ -273,7 +273,7 @@ static void mcf_set_termios(struct uart_port *port, struct ktermios *termios,
 
 static void mcf_rx_chars(struct mcf_uart *pp)
 {
-       struct uart_port *port = (struct uart_port *) pp;
+       struct uart_port *port = &pp->port;
        unsigned char status, ch, flag;
 
        while ((status = readb(port->membase + MCFUART_USR)) & MCFUART_USR_RXREADY) {
@@ -312,14 +312,14 @@ static void mcf_rx_chars(struct mcf_uart *pp)
                uart_insert_char(port, status, MCFUART_USR_RXOVERRUN, ch, flag);
        }
 
-       tty_flip_buffer_push(port->info->tty);
+       tty_flip_buffer_push(port->info->port.tty);
 }
 
 /****************************************************************************/
 
 static void mcf_tx_chars(struct mcf_uart *pp)
 {
-       struct uart_port *port = (struct uart_port *) pp;
+       struct uart_port *port = &pp->port;
        struct circ_buf *xmit = &port->info->xmit;
 
        if (port->x_char) {
@@ -352,7 +352,7 @@ static void mcf_tx_chars(struct mcf_uart *pp)
 static irqreturn_t mcf_interrupt(int irq, void *data)
 {
        struct uart_port *port = data;
-       struct mcf_uart *pp = (struct mcf_uart *) port;
+       struct mcf_uart *pp = container_of(port, struct mcf_uart, port);
        unsigned int isr;
 
        isr = readb(port->membase + MCFUART_UISR) & pp->imr;
@@ -434,7 +434,7 @@ static struct uart_ops mcf_uart_ops = {
 
 static struct mcf_uart mcf_ports[3];
 
-#define        MCF_MAXPORTS    (sizeof(mcf_ports) / sizeof(struct mcf_uart))
+#define        MCF_MAXPORTS    ARRAY_SIZE(mcf_ports)
 
 /****************************************************************************/
 #if defined(CONFIG_SERIAL_MCF_CONSOLE)
@@ -649,5 +649,6 @@ module_exit(mcf_exit);
 MODULE_AUTHOR("Greg Ungerer <gerg@snapgear.com>");
 MODULE_DESCRIPTION("Freescale ColdFire UART driver");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:mcfuart");
 
 /****************************************************************************/