diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2005-11-23 01:57:25 -0500 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-01-08 22:49:54 -0500 |
commit | 51d3082fe6e55aecfa17113dbe98077c749f724c (patch) | |
tree | 9a1e2355d5988d8cc1ca511d53c1bb24b0baa17f /include | |
parent | 463ce0e103f419f51b1769111e73fe8bb305d0ec (diff) |
[PATCH] powerpc: Unify udbg (#2)
This patch unifies udbg for both ppc32 and ppc64 when building the
merged achitecture. xmon now has a single "back end". The powermac udbg
stuff gets enriched with some ADB capabilities and btext output. In
addition, the early_init callback is now called on ppc32 as well,
approx. in the same order as ppc64 regarding device-tree manipulations.
The init sequences of ppc32 and ppc64 are getting closer, I'll unify
them in a later patch.
For now, you can force udbg to the scc using "sccdbg" or to btext using
"btextdbg" on powermacs. I'll implement a cleaner way of forcing udbg
output to something else than the autodetected OF output device in a
later patch.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-powerpc/btext.h | 19 | ||||
-rw-r--r-- | include/asm-powerpc/udbg.h | 9 | ||||
-rw-r--r-- | include/asm-ppc/btext.h | 2 | ||||
-rw-r--r-- | include/asm-ppc/machdep.h | 4 |
4 files changed, 20 insertions, 14 deletions
diff --git a/include/asm-powerpc/btext.h b/include/asm-powerpc/btext.h index 71cce36bc630..906f46e31006 100644 --- a/include/asm-powerpc/btext.h +++ b/include/asm-powerpc/btext.h | |||
@@ -7,21 +7,22 @@ | |||
7 | #define __PPC_BTEXT_H | 7 | #define __PPC_BTEXT_H |
8 | #ifdef __KERNEL__ | 8 | #ifdef __KERNEL__ |
9 | 9 | ||
10 | extern void btext_clearscreen(void); | 10 | extern int btext_find_display(int allow_nonstdout); |
11 | extern void btext_flushscreen(void); | ||
12 | |||
13 | extern int boot_text_mapped; | ||
14 | |||
15 | extern int btext_initialize(struct device_node *np); | ||
16 | |||
17 | extern void map_boot_text(void); | ||
18 | extern void init_boot_display(void); | ||
19 | extern void btext_update_display(unsigned long phys, int width, int height, | 11 | extern void btext_update_display(unsigned long phys, int width, int height, |
20 | int depth, int pitch); | 12 | int depth, int pitch); |
13 | extern void btext_setup_display(int width, int height, int depth, int pitch, | ||
14 | unsigned long address); | ||
15 | extern void btext_prepare_BAT(void); | ||
16 | extern void btext_unmap(void); | ||
21 | 17 | ||
22 | extern void btext_drawchar(char c); | 18 | extern void btext_drawchar(char c); |
23 | extern void btext_drawstring(const char *str); | 19 | extern void btext_drawstring(const char *str); |
24 | extern void btext_drawhex(unsigned long v); | 20 | extern void btext_drawhex(unsigned long v); |
21 | extern void btext_drawtext(const char *c, unsigned int len); | ||
22 | |||
23 | extern void btext_clearscreen(void); | ||
24 | extern void btext_flushscreen(void); | ||
25 | extern void btext_flushline(void); | ||
25 | 26 | ||
26 | #endif /* __KERNEL__ */ | 27 | #endif /* __KERNEL__ */ |
27 | #endif /* __PPC_BTEXT_H */ | 28 | #endif /* __PPC_BTEXT_H */ |
diff --git a/include/asm-powerpc/udbg.h b/include/asm-powerpc/udbg.h index 4049a96dc43d..8d6b44c8f35d 100644 --- a/include/asm-powerpc/udbg.h +++ b/include/asm-powerpc/udbg.h | |||
@@ -13,8 +13,8 @@ | |||
13 | #include <linux/compiler.h> | 13 | #include <linux/compiler.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | 15 | ||
16 | extern void (*udbg_putc)(unsigned char c); | 16 | extern void (*udbg_putc)(char c); |
17 | extern unsigned char (*udbg_getc)(void); | 17 | extern char (*udbg_getc)(void); |
18 | extern int (*udbg_getc_poll)(void); | 18 | extern int (*udbg_getc_poll)(void); |
19 | 19 | ||
20 | extern void udbg_puts(const char *s); | 20 | extern void udbg_puts(const char *s); |
@@ -30,5 +30,8 @@ extern unsigned int udbg_probe_uart_speed(void __iomem *comport, | |||
30 | unsigned int clock); | 30 | unsigned int clock); |
31 | 31 | ||
32 | struct device_node; | 32 | struct device_node; |
33 | extern void udbg_init_scc(struct device_node *np); | 33 | extern void udbg_scc_init(int force_scc); |
34 | extern int udbg_adb_init(int force_btext); | ||
35 | extern void udbg_adb_init_early(void); | ||
36 | |||
34 | #endif /* _ASM_POWERPC_UDBG_H */ | 37 | #endif /* _ASM_POWERPC_UDBG_H */ |
diff --git a/include/asm-ppc/btext.h b/include/asm-ppc/btext.h index ccaefabe0bf5..ed3630251b3b 100644 --- a/include/asm-ppc/btext.h +++ b/include/asm-ppc/btext.h | |||
@@ -17,7 +17,7 @@ extern unsigned long disp_BAT[2]; | |||
17 | extern boot_infos_t disp_bi; | 17 | extern boot_infos_t disp_bi; |
18 | extern int boot_text_mapped; | 18 | extern int boot_text_mapped; |
19 | 19 | ||
20 | extern void init_boot_display(void); | 20 | extern void btext_init(boot_infos_t *bi); |
21 | extern void btext_welcome(void); | 21 | extern void btext_welcome(void); |
22 | extern void btext_prepare_BAT(void); | 22 | extern void btext_prepare_BAT(void); |
23 | extern void btext_setup_display(int width, int height, int depth, int pitch, | 23 | extern void btext_setup_display(int width, int height, int depth, int pitch, |
diff --git a/include/asm-ppc/machdep.h b/include/asm-ppc/machdep.h index f01255bd1dc3..39200def8d11 100644 --- a/include/asm-ppc/machdep.h +++ b/include/asm-ppc/machdep.h | |||
@@ -35,8 +35,10 @@ struct machdep_calls { | |||
35 | int (*get_irq)(struct pt_regs *); | 35 | int (*get_irq)(struct pt_regs *); |
36 | 36 | ||
37 | /* A general init function, called by ppc_init in init/main.c. | 37 | /* A general init function, called by ppc_init in init/main.c. |
38 | May be NULL. */ | 38 | May be NULL. DEPRECATED ! */ |
39 | void (*init)(void); | 39 | void (*init)(void); |
40 | /* For compatibility with merged platforms */ | ||
41 | void (*init_early)(void); | ||
40 | 42 | ||
41 | void (*restart)(char *cmd); | 43 | void (*restart)(char *cmd); |
42 | void (*power_off)(void); | 44 | void (*power_off)(void); |