[PATCH 10/9] Small updates for Freescale MPC52xx - Late one ...

Sylvain Munaut tnt at 246tNt.com
Thu Sep 16 06:46:44 EST 2004


Hello

Sorry for this late one, I just got it and it belongs with the others.
I've added it to the bk tree I sent earlier ( 
bk://bkbits.246tNt.com/linux-2.5-mpc52xx-pending )
so please pull from that tree.

The unified diff along with the patch description is below.

Thanks,

    Sylvain



# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
#   2004/09/15 22:03:38+02:00 tnt at 246tNt.com
#   ppc: Fix output of low-level serial debug on Freescale MPC52xx
#  
#   Thanks to Roger Blofeld for pointing that out.
#  
#   Signed-off-by: Sylvain Munaut <tnt at 246tNt.com>
#
# arch/ppc/syslib/mpc52xx_setup.c
#   2004/09/15 22:02:23+02:00 tnt at 246tNt.com +14 -10
#   ppc: Fix output of low-level serial debug on Freescale MPC52xx
#
diff -Nru a/arch/ppc/syslib/mpc52xx_setup.c 
b/arch/ppc/syslib/mpc52xx_setup.c
--- a/arch/ppc/syslib/mpc52xx_setup.c   2004-09-15 22:36:07 +02:00
+++ b/arch/ppc/syslib/mpc52xx_setup.c   2004-09-15 22:36:07 +02:00
@@ -100,24 +100,28 @@
 #error "mpc52xx PSC for console not selected"
 #endif

+static void
+mpc52xx_psc_putc(struct mpc52xx_psc * psc, unsigned char c)
+{
+       while (!(in_be16(&psc->mpc52xx_psc_status) &
+                MPC52xx_PSC_SR_TXRDY));
+       out_8(&psc->mpc52xx_psc_buffer_8, c);
+}
+
 void
 mpc52xx_progress(char *s, unsigned short hex)
 {
        struct mpc52xx_psc *psc = (struct mpc52xx_psc *)MPC52xx_CONSOLE;
        char c;

-               /* Don't we need to disable serial interrupts ? */
-      
        while ((c = *s++) != 0) {
-               if (c == '\n') {
-                       while (!(in_be16(&psc->mpc52xx_psc_status) &
-                                MPC52xx_PSC_SR_TXRDY)) ;
-                       out_8(&psc->mpc52xx_psc_buffer_8, '\r');
-               }
-               while (!(in_be16(&psc->mpc52xx_psc_status) &
-                        MPC52xx_PSC_SR_TXRDY)) ;
-               out_8(&psc->mpc52xx_psc_buffer_8, c);
+               if (c == '\n')
+                       mpc52xx_psc_putc(psc, '\r');
+               mpc52xx_psc_putc(psc, c);
        }
+
+       mpc52xx_psc_putc(psc, '\r');
+       mpc52xx_psc_putc(psc, '\n');
 }

 #endif  /* CONFIG_SERIAL_TEXT_DEBUG */




More information about the Linuxppc-dev mailing list