Subject: Re: linux-next-0703 -- more ppc serial fixes

From: Joseph Fannin <[email-masked]>
Date: Fri, 4 Jul 2008 14:29:10 -0400

On Thu, Jul 03, 2008 at 07:09:48PM +1000, Stephen Rothwell wrote:

[next-0703]

> $ git quiltimport --author "Alan Cox <[email-masked]>" --patches "../quilt/ttydev"

More fixes for ppc serial drivers seem to be needed since next-0701 (exclusive):

drivers/serial/mpc52xx_uart.c: In function 'mpc52xx_uart_int_rx_chars':
drivers/serial/mpc52xx_uart.c:735: error: 'struct uart_info' has no member named 'tty'
drivers/serial/mpc52xx_uart.c: In function 'mpc52xx_uart_of_probe':
drivers/serial/mpc52xx_uart.c:1277: warning: cast to pointer from integer of different size

[...]

drivers/serial/uartlite.c: In function 'ulite_receive':
drivers/serial/uartlite.c:78: error: 'struct uart_info' has no member named 'tty'
drivers/serial/uartlite.c: In function 'ulite_isr':
drivers/serial/uartlite.c:165: error: 'struct uart_info' has no member named 'tty'

The following patch just fixes the build errors gcc emitted; if more
is needed to make the drivers actually work, it's wasn't blatently
obvious.

The patch is against next-0703, but I don't think it will matter.

FWIW --
Signed-Off-By: Joseph Fannin <[email-masked]>

---

diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c
index e673008..d456cda 100644
--- a/drivers/serial/mpc52xx_uart.c
+++ b/drivers/serial/mpc52xx_uart.c
@@ -732,7 +732,7 @@ static struct uart_ops mpc52xx_uart_ops = {
 static inline int
 mpc52xx_uart_int_rx_chars(struct uart_port *port)
 {
-	struct tty_struct *tty = port->info->tty;
+	struct tty_struct *tty = port->info->port.tty;
 	unsigned char ch, flag;
 	unsigned short status;
 
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index b51c242..6a3f8fb 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -75,7 +75,7 @@ static struct uart_port ulite_ports[ULITE_NR_UARTS];
 
 static int ulite_receive(struct uart_port *port, int stat)
 {
-	struct tty_struct *tty = port->info->tty;
+	struct tty_struct *tty = port->info->port.tty;
 	unsigned char ch = 0;
 	char flag = TTY_NORMAL;
 
@@ -162,7 +162,7 @@ static irqreturn_t ulite_isr(int irq, void *dev_id)
 		busy |= ulite_transmit(port, stat);
 	} while (busy);
 
-	tty_flip_buffer_push(port->info->tty);
+	tty_flip_buffer_push(port->info->port.tty);
 
 	return IRQ_HANDLED;
 }

--
Joseph Fannin
[email-masked]