hvc_dcc: Simplify put_chars()/get_chars() loops
authorStephen Boyd <sboyd@codeaurora.org>
Thu, 3 Feb 2011 23:48:35 +0000 (15:48 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 4 Feb 2011 00:05:43 +0000 (16:05 -0800)
Casting and anding with 0xff is unnecessary in
hvc_dcc_put_chars() since buf is already a char[].
__dcc_get_char() can't return an int less than 0 since it only
returns a char. Simplify the if statement in hvc_dcc_get_chars()
to take this into account.

Cc: Daniel Walker <dwalker@codeaurora.org>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/tty/hvc/hvc_dcc.c

index 155ec10..ad23cc8 100644 (file)
@@ -89,7 +89,7 @@ static int hvc_dcc_put_chars(uint32_t vt, const char *buf, int count)
                while (__dcc_getstatus() & DCC_STATUS_TX)
                        cpu_relax();
 
-               __dcc_putchar((char)(buf[i] & 0xFF));
+               __dcc_putchar(buf[i]);
        }
 
        return count;
@@ -99,15 +99,11 @@ static int hvc_dcc_get_chars(uint32_t vt, char *buf, int count)
 {
        int i;
 
-       for (i = 0; i < count; ++i) {
-               int c = -1;
-
+       for (i = 0; i < count; ++i)
                if (__dcc_getstatus() & DCC_STATUS_RX)
-                       c = __dcc_getchar();
-               if (c < 0)
+                       buf[i] = __dcc_getchar();
+               else
                        break;
-               buf[i] = c;
-       }
 
        return i;
 }