summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2004-10-06 05:29:21 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-10-06 05:29:21 -0700
commit8fc0532aeaf9cfb8051240b79f40f7cf448b7d4b (patch)
tree1504b6dfd55d272038b41363966f5c7807dbc05b
parent9e7e5ae001d33962d2335a31029d45affefb75df (diff)
[PATCH] ppc64: Fix find_udbg_vterm()
The find_udbg_vterm() used to initialize the early boot console on LPAR machines will not work properly on some recent pSeries because the firmware is playing tricks with the "phandle" values used to identify firmware nodes. This patch fixes that by using the full path instead. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/ppc64/kernel/pSeries_lpar.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/ppc64/kernel/pSeries_lpar.c b/arch/ppc64/kernel/pSeries_lpar.c
index 1328cd246154..68eeb7a811e2 100644
--- a/arch/ppc64/kernel/pSeries_lpar.c
+++ b/arch/ppc64/kernel/pSeries_lpar.c
@@ -135,7 +135,6 @@ void udbg_init_debug_lpar(void)
int find_udbg_vterm(void)
{
struct device_node *stdout_node;
- phandle *stdout_ph;
u32 *termno;
char *name;
int found = 0;
@@ -143,10 +142,10 @@ int find_udbg_vterm(void)
/* find the boot console from /chosen/stdout */
if (!of_chosen)
return 0;
- stdout_ph = (phandle *)get_property(of_chosen, "linux,stdout-package", NULL);
- if (stdout_ph == NULL)
+ name = (char *)get_property(of_chosen, "linux,stdout-path", NULL);
+ if (name == NULL)
return 0;
- stdout_node = of_find_node_by_phandle(*stdout_ph);
+ stdout_node = of_find_node_by_path(name);
if (!stdout_node)
return 0;