|
|
|
@ -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);
|
|
|
|
|
}
|
|
|
|
|