aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorMike Baker <mbm@openwrt.org>2007-08-25 12:27:01 +0000
committerMike Baker <mbm@openwrt.org>2007-08-25 12:27:01 +0000
commit4585158028b283d69ebdd87da39a4a939075d385 (patch)
tree8b107cb3aa2a60671cabb1070b3ff30b73933092 /package
parent134d9f15d78db12ea19ca331fef4d0b5b599b7a4 (diff)
downloadupstream-4585158028b283d69ebdd87da39a4a939075d385.tar.gz
upstream-4585158028b283d69ebdd87da39a4a939075d385.tar.bz2
upstream-4585158028b283d69ebdd87da39a4a939075d385.zip
fix wan configuration on wr850g v2/v3
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@8482 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package')
-rw-r--r--package/broadcom-diag/src/diag.c8
-rw-r--r--package/broadcom-diag/src/diag.h1
2 files changed, 7 insertions, 2 deletions
diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c
index e8da3129a8..ef586baaed 100644
--- a/package/broadcom-diag/src/diag.c
+++ b/package/broadcom-diag/src/diag.c
@@ -492,7 +492,7 @@ static struct platform_t __initdata platforms[] = {
.leds = {
{ .name = "power", .gpio = 1 << 1, .polarity = NORMAL },
{ .name = "wlan", .gpio = 1 << 0, .polarity = REVERSE },
- { .name = "dmz", .gpio = 1 << 6, .polarity = REVERSE },
+ { .name = "wan", .gpio = 1 << 6, .polarity = INPUT },
{ .name = "diag", .gpio = 1 << 7, .polarity = REVERSE },
},
},
@@ -893,6 +893,7 @@ static void register_leds(struct led_t *l)
{
struct proc_dir_entry *p;
u32 mask = 0;
+ u32 oe_mask = 0;
u32 val = 0;
leds = proc_mkdir("led", diag);
@@ -907,10 +908,13 @@ static void register_leds(struct led_t *l)
l->state = 0;
set_led_extif(l);
} else {
+ if (l->polarity != INPUT) oe_mask != l->gpio;
mask |= l->gpio;
val |= (l->polarity == NORMAL)?0:l->gpio;
}
+ if (l->polarity == INPUT) continue;
+
if ((p = create_proc_entry(l->name, S_IRUSR, leds))) {
l->proc.type = PROC_LED;
l->proc.ptr = l;
@@ -919,7 +923,7 @@ static void register_leds(struct led_t *l)
}
}
- gpio_outen(mask, mask);
+ gpio_outen(mask, oe_mask);
gpio_control(mask, 0);
gpio_out(mask, val);
}
diff --git a/package/broadcom-diag/src/diag.h b/package/broadcom-diag/src/diag.h
index 93fdedb85c..5f46d9dd8c 100644
--- a/package/broadcom-diag/src/diag.h
+++ b/package/broadcom-diag/src/diag.h
@@ -30,6 +30,7 @@
enum polarity_t {
REVERSE = 0,
NORMAL = 1,
+ INPUT = 2,
};
enum {