X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/2307fc302d5967b44b15e7e7da85c23978f86ff0..3058e8b6a2f9863fe174786d4681e0be9a636090:/package/broadcom-diag/src/diag.c diff --git a/package/broadcom-diag/src/diag.c b/package/broadcom-diag/src/diag.c index 8f2a0c170..341880a70 100644 --- a/package/broadcom-diag/src/diag.c +++ b/package/broadcom-diag/src/diag.c @@ -67,6 +67,8 @@ enum { /* ASUS */ WLHDD, WL300G, + WL320GE, + WL330GE, WL500G, WL500GD, WL500GP, @@ -295,6 +297,26 @@ static struct platform_t __initdata platforms[] = { { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, }, }, + [WL320GE] = { + .name = "ASUS WL-320gE/WL-320gP", + .buttons = { + { .name = "reset", .gpio = 1 << 6 }, + }, + .leds = { + { .name = "wlan", .gpio = 1 << 0, .polarity = REVERSE }, + { .name = "power", .gpio = 1 << 2, .polarity = REVERSE }, + { .name = "link", .gpio = 1 << 11, .polarity = REVERSE }, + }, + }, + [WL330GE] = { + .name = "ASUS WL-330gE", + .buttons = { + { .name = "reset", .gpio = 1 << 2 }, + }, + .leds = { + { .name = "power", .gpio = 1 << 0, .polarity = REVERSE }, + }, + }, [WL500G] = { .name = "ASUS WL-500g", .buttons = { @@ -752,6 +774,8 @@ static struct platform_t __init *platform_detect(void) return &platforms[WL520GC]; if (startswith(buf,"WL520GU-")) /* WL520GU-* */ return &platforms[WL520GU]; + if (startswith(buf,"WL330GE-")) /* WL330GE-* */ + return &platforms[WL330GE]; } /* Based on "ModelId" */ @@ -825,6 +849,8 @@ static struct platform_t __init *platform_detect(void) return &platforms[WL500GP]; else if (!strcmp(boardtype,"0x0472")) return &platforms[WL500W]; + else if (!strcmp(boardtype,"0x467")) + return &platforms[WL320GE]; else return &platforms[WL500GD]; } @@ -905,14 +931,14 @@ static void register_buttons(struct button_t *b) gpio_control(platform.button_mask, 0); platform.button_polarity = gpio_in() & platform.button_mask; gpio_intpolarity(platform.button_mask, platform.button_polarity); - gpio_intmask(platform.button_mask, platform.button_mask); + gpio_setintmask(platform.button_mask, platform.button_mask); gpio_set_irqenable(1, button_handler); } static void unregister_buttons(struct button_t *b) { - gpio_intmask(platform.button_mask, 0); + gpio_setintmask(platform.button_mask, 0); gpio_set_irqenable(0, button_handler); } @@ -1087,6 +1113,7 @@ static void register_leds(struct led_t *l) gpio_outen(mask, oe_mask); gpio_control(mask, 0); gpio_out(mask, val); + gpio_setintmask(mask, 0); } static void unregister_leds(struct led_t *l)