From: wbx 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.archive.openwrt.org/?p=openwrt.git;a=commitdiff_plain;h=fd09214ce56850e37fcff8e905a746673c2dd4d6 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 b34f773691..70f726c5b6 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 e4dc391117..6ad7ff102f 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);