From: wbx <wbx@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Mon, 27 Mar 2006 21:05:17 +0000 (+0000)
Subject: add diag.o for brcm-2.4 by default, add fixes for wap54g from Tomas Vanek
X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/fd09214ce56850e37fcff8e905a746673c2dd4d6?ds=inline

add diag.o for brcm-2.4 by default, add fixes for wap54g from Tomas Vanek

git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3510 3c298f89-4303-0410-b956-a3cf2f4a3e73
---

diff --git a/target/linux/package/diag/Config.in b/target/linux/package/diag/Config.in
index b34f77369..70f726c5b 100644
--- a/target/linux/package/diag/Config.in
+++ b/target/linux/package/diag/Config.in
@@ -2,6 +2,6 @@ config BR2_PACKAGE_KMOD_DIAG
 	prompt "kmod-diag......................... Driver for router LEDs and Buttons"
 	tristate
 	depends BR2_LINUX_2_4_BRCM
-	default m if CONFIG_DEVEL
+	default y
 	help
 	  Driver for router LEDs and Buttons
diff --git a/target/linux/package/diag/diag_led.c b/target/linux/package/diag/diag_led.c
index e4dc39111..6ad7ff102 100644
--- a/target/linux/package/diag/diag_led.c
+++ b/target/linux/package/diag/diag_led.c
@@ -80,6 +80,13 @@ static void v1_set_dmz(u8 state) {
 	}
 }
 
+static void wap1_set_diag(u8 state) {
+       set_gpio(1<<3,state);
+}
+static void wap1_set_dmz(u8 state) {
+       set_gpio(1<<4,state);
+}
+
 // - - - - -
 static void ignore(u8 ignored) {};
 
@@ -175,7 +182,7 @@ static int __init diag_init()
 	buf=nvram_get("pmon_ver") ?: "";
 	if (((board_type & 0xf00) == 0x400) && (strncmp(buf, "CFE", 3) != 0)) {
 		buf=nvram_get("boardtype")?:"";
-		if (!strcmp(buf,"bcm94710dev")) {
+		if (!strncmp(buf,"bcm94710dev",11)) {
 			buf=nvram_get("boardnum")?:"";
 			if (!strcmp(buf,"42")) {
 				// wrt54g v1.x
@@ -183,6 +190,16 @@ static int __init diag_init()
 				set_dmz=v1_set_dmz;
 				reset_gpio=(1<<6);
 			}
+			if (simple_strtoul(buf, NULL, 0) == 2) {
+				// wap54g v1.0
+				// do not use strcmp as PMON v5.3.22 has some built-in nvram 
+				// defaults with trailing \r
+				set_diag=wap1_set_diag;
+				// no dmz led on wap54g, used green led 
+				// labeled "WLAN Link" instead
+				set_dmz=wap1_set_dmz;
+				reset_gpio=(1<<0);
+			}
 			if (!strcmp(buf,"asusX")) {
 				//asus wl-500g
 				reset_gpio=(1<<6);