Browse Source

Do not register more than 2 ethernet porst for CFE based devices (i.e : Compex WP54G-wrt)

SVN-Revision: 6683
Florian Fainelli 19 years ago
parent
commit
1f3c505ef6

+ 3 - 2
target/linux/adm5120-2.6/files/arch/mips/adm5120/prom.c

@@ -30,9 +30,10 @@
 #include <asm/addrspace.h>
 
 /* boot loaders specific definitions */
-#define CFE_EPTSEAL 0x43464531
+#define CFE_EPTSEAL 0x43464531 /* CFE1 is the magic number to recognize CFE from other bootloaders */
 #define CFE 1
-#define MYLOADER 2
+#define UBOOT 2
+#define MYLOADER 3
 #define UNKNOWN 0
 
 void setup_prom_printf(int);

+ 3 - 0
target/linux/adm5120-2.6/files/drivers/net/adm5120sw.c

@@ -390,6 +390,9 @@ static int __init adm5120_sw_init(void)
 	/* MII port? */
 	if (adm5120_get_reg(ADM5120_CODE) & ADM5120_CODE_PQFP)
 		adm5120_nrdevs = 5;
+	/* CFE based devices only have two enet ports */
+	else if (boot_loader_type == CFE)
+		adm5120_nrdevs = 2
 	else
 		adm5120_nrdevs = 6;
 

+ 7 - 0
target/linux/adm5120-2.6/files/drivers/net/adm5120sw.h

@@ -102,5 +102,12 @@ struct adm5120_info {
 	u16	ports;
 	u16	vlan;
 };
+#define UNKNOWN 0
+
+#define UBOOT 2
+#define MYLOADER 3
+
+/* Type of boot loader, detected by the prom */
+extern boot_loader_type;
 
 #endif /* _INCLUDE_ADM5120SW_H_ */