Commit efe6c3dd8b7df809d46fb521eb9af471c47ed608
Committed by
David S. Miller
1 parent
89b409f770
Exists in
master
and in
7 other branches
sparc: Use sparc64 version of prom/printf.c
Use sparc64 version of prom/printf.c. The only differences for sparc32 is that prom_printf is no longer exported for modules which should be OK. Signed-off-by: Robert Reif <reif@earthlink.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Showing 5 changed files with 49 additions and 97 deletions Side-by-side Diff
arch/sparc/include/asm/oplib_32.h
... | ... | @@ -136,7 +136,7 @@ |
136 | 136 | extern void prom_putchar(char character); |
137 | 137 | |
138 | 138 | /* Prom's internal routines, don't use in kernel/boot code. */ |
139 | -extern void prom_printf(char *fmt, ...); | |
139 | +extern void prom_printf(const char *fmt, ...); | |
140 | 140 | extern void prom_write(const char *buf, unsigned int len); |
141 | 141 | |
142 | 142 | /* Multiprocessor operations... */ |
arch/sparc/prom/Makefile
arch/sparc/prom/printf.c
1 | +/* | |
2 | + * printf.c: Internal prom library printf facility. | |
3 | + * | |
4 | + * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | |
5 | + * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) | |
6 | + * Copyright (c) 2002 Pete Zaitcev (zaitcev@yahoo.com) | |
7 | + * | |
8 | + * We used to warn all over the code: DO NOT USE prom_printf(), | |
9 | + * and yet people do. Anton's banking code was outputting banks | |
10 | + * with prom_printf for most of the 2.4 lifetime. Since an effective | |
11 | + * stick is not available, we deployed a carrot: an early printk | |
12 | + * through PROM by means of -p boot option. This ought to fix it. | |
13 | + * USE printk; if you need, deploy -p. | |
14 | + */ | |
15 | + | |
16 | +#include <linux/kernel.h> | |
17 | + | |
18 | +#include <asm/openprom.h> | |
19 | +#include <asm/oplib.h> | |
20 | + | |
21 | +static char ppbuf[1024]; | |
22 | + | |
23 | +void | |
24 | +prom_write(const char *buf, unsigned int n) | |
25 | +{ | |
26 | + char ch; | |
27 | + | |
28 | + while (n != 0) { | |
29 | + --n; | |
30 | + if ((ch = *buf++) == '\n') | |
31 | + prom_putchar('\r'); | |
32 | + prom_putchar(ch); | |
33 | + } | |
34 | +} | |
35 | + | |
36 | +void | |
37 | +prom_printf(const char *fmt, ...) | |
38 | +{ | |
39 | + va_list args; | |
40 | + int i; | |
41 | + | |
42 | + va_start(args, fmt); | |
43 | + i = vscnprintf(ppbuf, sizeof(ppbuf), fmt, args); | |
44 | + va_end(args); | |
45 | + | |
46 | + prom_write(ppbuf, i); | |
47 | +} |
arch/sparc/prom/printf_32.c
1 | -/* | |
2 | - * printf.c: Internal prom library printf facility. | |
3 | - * | |
4 | - * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | |
5 | - * Copyright (c) 2002 Pete Zaitcev (zaitcev@yahoo.com) | |
6 | - * | |
7 | - * We used to warn all over the code: DO NOT USE prom_printf(), | |
8 | - * and yet people do. Anton's banking code was outputting banks | |
9 | - * with prom_printf for most of the 2.4 lifetime. Since an effective | |
10 | - * stick is not available, we deployed a carrot: an early printk | |
11 | - * through PROM by means of -p boot option. This ought to fix it. | |
12 | - * USE printk; if you need, deploy -p. | |
13 | - */ | |
14 | - | |
15 | -#include <linux/kernel.h> | |
16 | -#include <linux/module.h> | |
17 | - | |
18 | -#include <asm/openprom.h> | |
19 | -#include <asm/oplib.h> | |
20 | - | |
21 | -static char ppbuf[1024]; | |
22 | - | |
23 | -void | |
24 | -prom_write(const char *buf, unsigned int n) | |
25 | -{ | |
26 | - char ch; | |
27 | - | |
28 | - while (n != 0) { | |
29 | - --n; | |
30 | - if ((ch = *buf++) == '\n') | |
31 | - prom_putchar('\r'); | |
32 | - prom_putchar(ch); | |
33 | - } | |
34 | -} | |
35 | - | |
36 | -void | |
37 | -prom_printf(char *fmt, ...) | |
38 | -{ | |
39 | - va_list args; | |
40 | - int i; | |
41 | - | |
42 | - va_start(args, fmt); | |
43 | - i = vscnprintf(ppbuf, sizeof(ppbuf), fmt, args); | |
44 | - va_end(args); | |
45 | - | |
46 | - prom_write(ppbuf, i); | |
47 | -} | |
48 | -EXPORT_SYMBOL(prom_printf); |
arch/sparc/prom/printf_64.c
1 | -/* | |
2 | - * printf.c: Internal prom library printf facility. | |
3 | - * | |
4 | - * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) | |
5 | - * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz) | |
6 | - * Copyright (c) 2002 Pete Zaitcev (zaitcev@yahoo.com) | |
7 | - * | |
8 | - * We used to warn all over the code: DO NOT USE prom_printf(), | |
9 | - * and yet people do. Anton's banking code was outputting banks | |
10 | - * with prom_printf for most of the 2.4 lifetime. Since an effective | |
11 | - * stick is not available, we deployed a carrot: an early printk | |
12 | - * through PROM by means of -p boot option. This ought to fix it. | |
13 | - * USE printk; if you need, deploy -p. | |
14 | - */ | |
15 | - | |
16 | -#include <linux/kernel.h> | |
17 | - | |
18 | -#include <asm/openprom.h> | |
19 | -#include <asm/oplib.h> | |
20 | - | |
21 | -static char ppbuf[1024]; | |
22 | - | |
23 | -void | |
24 | -prom_write(const char *buf, unsigned int n) | |
25 | -{ | |
26 | - char ch; | |
27 | - | |
28 | - while (n != 0) { | |
29 | - --n; | |
30 | - if ((ch = *buf++) == '\n') | |
31 | - prom_putchar('\r'); | |
32 | - prom_putchar(ch); | |
33 | - } | |
34 | -} | |
35 | - | |
36 | -void | |
37 | -prom_printf(const char *fmt, ...) | |
38 | -{ | |
39 | - va_list args; | |
40 | - int i; | |
41 | - | |
42 | - va_start(args, fmt); | |
43 | - i = vscnprintf(ppbuf, sizeof(ppbuf), fmt, args); | |
44 | - va_end(args); | |
45 | - | |
46 | - prom_write(ppbuf, i); | |
47 | -} |