From 3b4c489d282b828013847b22b9c431bd7609ff51 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Tue, 26 Jun 2007 19:41:00 +0000 Subject: [PATCH 1/1] [adm5120] calling of prom_detect_board is needed only when we still don't know the board SVN-Revision: 7736 --- .../adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c | 5 +++-- target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c index 87e3d865a5..6d512f1a75 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/adm5120_info.c @@ -206,7 +206,7 @@ static struct adm5120_board __initdata adm5120_boards[] = { .name = "Infineon EASY 83000", .mach_type = MACH_ADM5120_EASY83000, .has_usb = 0, - .iface_num = 0, + .iface_num = 6, .flash0_size = 4*1024*1024, }, { @@ -880,7 +880,8 @@ static void __init adm5120_detect_board(void) if (t == MACH_ADM5120_UNKNOWN) t = uboot_detect_board(); } else { - t = prom_detect_board(); + if (t == MACH_ADM5120_UNKNOWN) + t = prom_detect_board(); } for (board = adm5120_boards; board->mach_type != MACH_ADM5120_UNKNOWN; diff --git a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c index a288b073ca..c2e1dcbae1 100644 --- a/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c +++ b/target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c @@ -32,7 +32,7 @@ #include -static char **prom_envp; +static char **prom_envp = NULL; void setup_prom_printf(int); void prom_printf(char *, ...); @@ -106,7 +106,9 @@ void __init prom_init(void) { char *cmd; - prom_envp = (char **)fw_arg2; + if ((fw_arg2 & 3) == 0) { + prom_envp = (char **)fw_arg2; + } adm5120_info_init(); -- 2.30.2