diff options
author | David S. Miller <davem@davemloft.net> | 2010-11-30 14:33:29 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-11-30 14:33:29 -0800 |
commit | e62cac1fd035b4cde707285008499dbe71955a86 (patch) | |
tree | 214447e9efd4dc49f5bb707c7c1c0073a3df9803 /arch/sparc/prom/printf.c | |
parent | 91921fef7c658b12de53376b312d071d757f7770 (diff) | |
download | linux-e62cac1fd035b4cde707285008499dbe71955a86.tar.bz2 |
sparc: Pass buffer pointer all the way down to prom_{get,put}char().
This gets us closer to being able to eliminate the use
of dynamic and stack based buffers, so that we can adhere
to the "no buffer addresses above 4GB" rule for PROM calls.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/prom/printf.c')
-rw-r--r-- | arch/sparc/prom/printf.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/arch/sparc/prom/printf.c b/arch/sparc/prom/printf.c index ca869266b9f3..24031971f806 100644 --- a/arch/sparc/prom/printf.c +++ b/arch/sparc/prom/printf.c @@ -23,13 +23,14 @@ static char ppbuf[1024]; void notrace prom_write(const char *buf, unsigned int n) { - char ch; - - while (n != 0) { - --n; - if ((ch = *buf++) == '\n') - prom_putchar('\r'); - prom_putchar(ch); + while (n-- != 0) { + char ch = *buf; + if (ch == '\n') { + char tmp = '\r'; + prom_putchar(&tmp); + } + prom_putchar(buf); + buf++; } } |