add diag.o for brcm-2.4 by default, add fixes for wap54g from Tomas Vanek
authorWaldemar Brodkorb <mail@waldemar-brodkorb.de>
Mon, 27 Mar 2006 21:05:17 +0000 (21:05 +0000)
committerWaldemar Brodkorb <mail@waldemar-brodkorb.de>
Mon, 27 Mar 2006 21:05:17 +0000 (21:05 +0000)
SVN-Revision: 3510

openwrt/target/linux/package/diag/Config.in
openwrt/target/linux/package/diag/diag_led.c

index b34f773..70f726c 100644 (file)
@@ -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
index e4dc391..6ad7ff1 100644 (file)
@@ -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);