aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWaldemar Brodkorb <mail@waldemar-brodkorb.de>2006-03-27 21:05:17 +0000
committerWaldemar Brodkorb <mail@waldemar-brodkorb.de>2006-03-27 21:05:17 +0000
commit5b89a1ff7dd978a6797441f37c36cd918aed961c (patch)
treeb33dc5261341d34f0c68cbd299dfc30fd5c734d3
parent2e2da1e712db2cb0599de1e5a7b66a34d12b8d4d (diff)
downloadupstream-5b89a1ff7dd978a6797441f37c36cd918aed961c.tar.gz
upstream-5b89a1ff7dd978a6797441f37c36cd918aed961c.tar.bz2
upstream-5b89a1ff7dd978a6797441f37c36cd918aed961c.zip
add diag.o for brcm-2.4 by default, add fixes for wap54g from Tomas Vanek
SVN-Revision: 3510
-rw-r--r--openwrt/target/linux/package/diag/Config.in2
-rw-r--r--openwrt/target/linux/package/diag/diag_led.c19
2 files changed, 19 insertions, 2 deletions
diff --git a/openwrt/target/linux/package/diag/Config.in b/openwrt/target/linux/package/diag/Config.in
index b34f773691..70f726c5b6 100644
--- a/openwrt/target/linux/package/diag/Config.in
+++ b/openwrt/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/openwrt/target/linux/package/diag/diag_led.c b/openwrt/target/linux/package/diag/diag_led.c
index e4dc391117..6ad7ff102f 100644
--- a/openwrt/target/linux/package/diag/diag_led.c
+++ b/openwrt/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);