]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/serial/serial_txx9.c
serial_txx9: use %lx for iobase
[linux-2.6-omap-h63xx.git] / drivers / serial / serial_txx9.c
index 6846a6c38b6d5535784bafd4884a51bbbc2e5be4..7313c2edcb831b873d89156bb6200179dd642fb8 100644 (file)
@@ -272,7 +272,7 @@ static void serial_txx9_initialize(struct uart_port *port)
 static inline void
 receive_chars(struct uart_txx9_port *up, unsigned int *status)
 {
-       struct tty_struct *tty = up->port.info->tty;
+       struct tty_struct *tty = up->port.info->port.tty;
        unsigned char ch;
        unsigned int disr = *status;
        int max_count = 256;
@@ -657,7 +657,15 @@ static void
 serial_txx9_pm(struct uart_port *port, unsigned int state,
              unsigned int oldstate)
 {
-       if (state == 0)
+       /*
+        * If oldstate was -1 this is called from
+        * uart_configure_port().  In this case do not initialize the
+        * port now, because the port was already initialized (for
+        * non-console port) or should not be initialized here (for
+        * console port).  If we initialized the port here we lose
+        * serial console settings.
+        */
+       if (state == 0 && oldstate != -1)
                serial_txx9_initialize(port);
 }
 
@@ -1031,7 +1039,7 @@ static int __devinit serial_txx9_probe(struct platform_device *dev)
                ret = serial_txx9_register_port(&port);
                if (ret < 0) {
                        dev_err(&dev->dev, "unable to register port at index %d "
-                               "(IO%x MEM%llx IRQ%d): %d\n", i,
+                               "(IO%lx MEM%llx IRQ%d): %d\n", i,
                                p->iobase, (unsigned long long)p->mapbase,
                                p->irq, ret);
                }