~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to arch/m68k/sun3/prom/printf.c

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * printf.c:  Internal prom library printf facility.
 
3
 *
 
4
 * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu)
 
5
 */
 
6
 
 
7
/* This routine is internal to the prom library, no one else should know
 
8
 * about or use it!  It's simple and smelly anyway....
 
9
 */
 
10
 
 
11
#include <linux/kernel.h>
 
12
 
 
13
#include <asm/openprom.h>
 
14
#include <asm/oplib.h>
 
15
 
 
16
#ifdef CONFIG_KGDB
 
17
extern int kgdb_initialized;
 
18
#endif
 
19
 
 
20
static char ppbuf[1024];
 
21
 
 
22
void
 
23
prom_printf(char *fmt, ...)
 
24
{
 
25
        va_list args;
 
26
        char ch, *bptr;
 
27
        int i;
 
28
 
 
29
        va_start(args, fmt);
 
30
 
 
31
#ifdef CONFIG_KGDB
 
32
        ppbuf[0] = 'O';
 
33
        i = vsprintf(ppbuf + 1, fmt, args) + 1;
 
34
#else
 
35
        i = vsprintf(ppbuf, fmt, args);
 
36
#endif
 
37
 
 
38
        bptr = ppbuf;
 
39
 
 
40
#ifdef CONFIG_KGDB
 
41
        if (kgdb_initialized) {
 
42
                printk("kgdb_initialized = %d\n", kgdb_initialized);
 
43
                putpacket(bptr, 1);
 
44
        } else
 
45
#else
 
46
        while((ch = *(bptr++)) != 0) {
 
47
                if(ch == '\n')
 
48
                        prom_putchar('\r');
 
49
 
 
50
                prom_putchar(ch);
 
51
        }
 
52
#endif
 
53
        va_end(args);
 
54
        return;
 
55
}