Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=be1b4d34e3a379d20d50e75a95aa5c3f0c7cf612
Commit:     be1b4d34e3a379d20d50e75a95aa5c3f0c7cf612
Parent:     69c9c94303e309c02cf4b3e671a46a34fd0c4b0b
Author:     Grant Likely <[EMAIL PROTECTED]>
AuthorDate: Wed Oct 3 02:44:15 2007 +1000
Committer:  Josh Boyer <[EMAIL PROTECTED]>
CommitDate: Wed Oct 3 07:37:03 2007 -0500

    [POWERPC] Uartlite: Add macros for register names
    
    Add macros to define register names to improve readability.
    
    Signed-off-by: Grant Likely <[EMAIL PROTECTED]>
    Signed-off-by: Josh Boyer <[EMAIL PROTECTED]>
---
 arch/powerpc/boot/uartlite.c |   27 +++++++++++++++++++++------
 1 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/arch/powerpc/boot/uartlite.c b/arch/powerpc/boot/uartlite.c
index f4249a7..38a470b 100644
--- a/arch/powerpc/boot/uartlite.c
+++ b/arch/powerpc/boot/uartlite.c
@@ -16,30 +16,45 @@
 #include "io.h"
 #include "ops.h"
 
+#define ULITE_RX               0x00
+#define ULITE_TX               0x04
+#define ULITE_STATUS           0x08
+#define ULITE_CONTROL          0x0c
+
+#define ULITE_STATUS_RXVALID   0x01
+#define ULITE_STATUS_TXFULL    0x08
+
+#define ULITE_CONTROL_RST_RX   0x02
+
 static void * reg_base;
 
 static int uartlite_open(void)
 {
        /* Clear the RX FIFO */
-       out_be32(reg_base + 0x0C, 0x2);
+       out_be32(reg_base + ULITE_CONTROL, ULITE_CONTROL_RST_RX);
        return 0;
 }
 
 static void uartlite_putc(unsigned char c)
 {
-       while ((in_be32(reg_base + 0x8) & 0x08) != 0); /* spin */
-       out_be32(reg_base + 0x4, c);
+       u32 reg = ULITE_STATUS_TXFULL;
+       while (reg & ULITE_STATUS_TXFULL) /* spin on TXFULL bit */
+               reg = in_be32(reg_base + ULITE_STATUS);
+       out_be32(reg_base + ULITE_TX, c);
 }
 
 static unsigned char uartlite_getc(void)
 {
-       while ((in_be32(reg_base + 0x8) & 0x01) == 0); /* spin */
-       return in_be32(reg_base);
+       u32 reg = ULITE_STATUS_RXVALID;
+       while (reg & ULITE_STATUS_RXVALID) /* spin on RXVALID bit */
+               reg = in_be32(reg_base + ULITE_STATUS);
+       return in_be32(reg_base + ULITE_RX);
 }
 
 static u8 uartlite_tstc(void)
 {
-       return ((in_be32(reg_base + 0x8) & 0x01) != 0);
+       u32 reg = in_be32(reg_base + ULITE_STATUS);
+       return reg & ULITE_STATUS_RXVALID;
 }
 
 int uartlite_console_init(void *devp, struct serial_console_data *scdp)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to