Merge tag 'driver-core-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[cascardo/linux.git] / drivers / tty / serial / pmac_zilog.c
index f03c235..8f51579 100644 (file)
@@ -1352,7 +1352,8 @@ static int pmz_verify_port(struct uart_port *port, struct serial_struct *ser)
 
 static int pmz_poll_get_char(struct uart_port *port)
 {
-       struct uart_pmac_port *uap = (struct uart_pmac_port *)port;
+       struct uart_pmac_port *uap =
+               container_of(port, struct uart_pmac_port, port);
        int tries = 2;
 
        while (tries) {
@@ -1367,7 +1368,8 @@ static int pmz_poll_get_char(struct uart_port *port)
 
 static void pmz_poll_put_char(struct uart_port *port, unsigned char c)
 {
-       struct uart_pmac_port *uap = (struct uart_pmac_port *)port;
+       struct uart_pmac_port *uap =
+               container_of(port, struct uart_pmac_port, port);
 
        /* Wait for the transmit buffer to empty. */
        while ((read_zsreg(uap, R0) & Tx_BUF_EMP) == 0)
@@ -1953,7 +1955,8 @@ static void __exit exit_pmz(void)
 
 static void pmz_console_putchar(struct uart_port *port, int ch)
 {
-       struct uart_pmac_port *uap = (struct uart_pmac_port *)port;
+       struct uart_pmac_port *uap =
+               container_of(port, struct uart_pmac_port, port);
 
        /* Wait for the transmit buffer to empty. */
        while ((read_zsreg(uap, R0) & Tx_BUF_EMP) == 0)