This source file includes following definitions.
- prom_nbputchar
- prom_console_write_buf
1
2
3
4
5
6
7
8
9
10 #include <linux/types.h>
11 #include <linux/kernel.h>
12 #include <linux/sched.h>
13 #include <asm/openprom.h>
14 #include <asm/oplib.h>
15 #include <linux/string.h>
16
17 extern void restore_current(void);
18
19
20
21
22 static int prom_nbputchar(const char *buf)
23 {
24 unsigned long flags;
25 int i = -1;
26
27 spin_lock_irqsave(&prom_lock, flags);
28 switch(prom_vers) {
29 case PROM_V0:
30 if ((*(romvec->pv_nbputchar))(*buf))
31 i = 1;
32 break;
33 case PROM_V2:
34 case PROM_V3:
35 if ((*(romvec->pv_v2devops).v2_dev_write)(*romvec->pv_v2bootargs.fd_stdout,
36 buf, 0x1) == 1)
37 i = 1;
38 break;
39 default:
40 break;
41 }
42 restore_current();
43 spin_unlock_irqrestore(&prom_lock, flags);
44 return i;
45 }
46
47 void prom_console_write_buf(const char *buf, int len)
48 {
49 while (len) {
50 int n = prom_nbputchar(buf);
51 if (n < 0)
52 continue;
53 len--;
54 buf++;
55 }
56 }
57