diff options
author | Mike Baker <mbm@openwrt.org> | 2007-08-25 12:27:01 +0000 |
---|---|---|
committer | Mike Baker <mbm@openwrt.org> | 2007-08-25 12:27:01 +0000 |
commit | 4585158028b283d69ebdd87da39a4a939075d385 (patch) | |
tree | 8b107cb3aa2a60671cabb1070b3ff30b73933092 /package/broadcom-diag | |
parent | 134d9f15d78db12ea19ca331fef4d0b5b599b7a4 (diff) | |
download | upstream-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/broadcom-diag')
-rw-r--r-- | package/broadcom-diag/src/diag.c | 8 | ||||
-rw-r--r-- | package/broadcom-diag/src/diag.h | 1 |
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 { |