diff --git a/target/linux/adm5120/files/arch/mips/adm5120/prom.c b/target/linux/adm5120/files/arch/mips/adm5120/prom.c index 4ea9a6fdc..7d61490ca 100644 --- a/target/linux/adm5120/files/arch/mips/adm5120/prom.c +++ b/target/linux/adm5120/files/arch/mips/adm5120/prom.c @@ -137,6 +137,7 @@ static struct { ZYXEL_BOARD(ZYNOS_BOARD_P334WH, MACH_ADM5120_P334WH), ZYXEL_BOARD(ZYNOS_BOARD_P334WHD, MACH_ADM5120_P334WHD), ZYXEL_BOARD(ZYNOS_BOARD_P334WT, MACH_ADM5120_P334WT), + ZYXEL_BOARD(ZYNOS_BOARD_P334WT_ALT, MACH_ADM5120_P334WT), ZYXEL_BOARD(ZYNOS_BOARD_P335, MACH_ADM5120_P335), ZYXEL_BOARD(ZYNOS_BOARD_P335PLUS, MACH_ADM5120_P335PLUS), ZYXEL_BOARD(ZYNOS_BOARD_P335U, MACH_ADM5120_P335U) @@ -144,19 +145,19 @@ static struct { static unsigned long __init detect_machtype_bootbase(void) { - unsigned long ret; int i; - ret = MACH_ADM5120_GENERIC; for (i = 0; i < ARRAY_SIZE(zynos_boards); i++) { if (zynos_boards[i].vendor_id == bootbase_info.vendor_id && zynos_boards[i].board_id == bootbase_info.board_id) { - ret = zynos_boards[i].mach_type; + return zynos_boards[i].mach_type; break; } } - return ret; + printk(KERN_WARNING "Unknown ZyXEL model (%u)\n", + bootbase_info.board_id); + return MACH_ADM5120_GENERIC; } static struct { diff --git a/target/linux/adm5120/files/include/asm-mips/mach-adm5120/prom/zynos.h b/target/linux/adm5120/files/include/asm-mips/mach-adm5120/prom/zynos.h index c78a50af9..9ebf332b4 100644 --- a/target/linux/adm5120/files/include/asm-mips/mach-adm5120/prom/zynos.h +++ b/target/linux/adm5120/files/include/asm-mips/mach-adm5120/prom/zynos.h @@ -66,6 +66,7 @@ struct zynos_board_info { #define ZYNOS_BOARD_P334WH 0x00E0 /* Prestige 334WH */ #define ZYNOS_BOARD_P334WHD 0x00E1 /* Prestige 334WHD */ #define ZYNOS_BOARD_P334WT 0x9FEF /* Prestige 334WT */ +#define ZYNOS_BOARD_P334WT_ALT 0x9F02 /* Prestige 334WT alternative */ #define ZYNOS_BOARD_P335 0x9FED /* Prestige 335/335WT */ #define ZYNOS_BOARD_P335PLUS 0x0025 /* Prestige 335Plus */ #define ZYNOS_BOARD_P335U 0x9FDC /* Prestige 335U */