diff options
author | Stephen Boyd <sboyd@codeaurora.org> | 2011-02-03 18:48:35 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-03 19:05:43 -0500 |
commit | bf73bd35a296b31dace098b9104b6b593ee0070f (patch) | |
tree | 266581a463e779ba26ef5b725508e2d4ced7b9c2 | |
parent | a99632014631409483a481a6a0d77d09ded47239 (diff) |
hvc_dcc: Simplify put_chars()/get_chars() loops
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>
-rw-r--r-- | drivers/tty/hvc/hvc_dcc.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/drivers/tty/hvc/hvc_dcc.c b/drivers/tty/hvc/hvc_dcc.c index 155ec105e1c8..ad23cc8082a0 100644 --- a/drivers/tty/hvc/hvc_dcc.c +++ b/drivers/tty/hvc/hvc_dcc.c | |||
@@ -89,7 +89,7 @@ static int hvc_dcc_put_chars(uint32_t vt, const char *buf, int count) | |||
89 | while (__dcc_getstatus() & DCC_STATUS_TX) | 89 | while (__dcc_getstatus() & DCC_STATUS_TX) |
90 | cpu_relax(); | 90 | cpu_relax(); |
91 | 91 | ||
92 | __dcc_putchar((char)(buf[i] & 0xFF)); | 92 | __dcc_putchar(buf[i]); |
93 | } | 93 | } |
94 | 94 | ||
95 | return count; | 95 | return count; |
@@ -99,15 +99,11 @@ static int hvc_dcc_get_chars(uint32_t vt, char *buf, int count) | |||
99 | { | 99 | { |
100 | int i; | 100 | int i; |
101 | 101 | ||
102 | for (i = 0; i < count; ++i) { | 102 | for (i = 0; i < count; ++i) |
103 | int c = -1; | ||
104 | |||
105 | if (__dcc_getstatus() & DCC_STATUS_RX) | 103 | if (__dcc_getstatus() & DCC_STATUS_RX) |
106 | c = __dcc_getchar(); | 104 | buf[i] = __dcc_getchar(); |
107 | if (c < 0) | 105 | else |
108 | break; | 106 | break; |
109 | buf[i] = c; | ||
110 | } | ||
111 | 107 | ||
112 | return i; | 108 | return i; |
113 | } | 109 | } |