--- /dev/null
+--- a/arch/mips/ar7/platform.c
++++ b/arch/mips/ar7/platform.c
+@@ -462,31 +462,22 @@ static struct gpio_led fb_fon_leds[] = {
+ },
+ };
+
+-static struct gpio_led gt701_leds[] = {
++static struct gpio_led actiontec_leds[] = {
+ {
+ .name = "inet:green",
+ .gpio = 13,
+- .active_low = 1,
+- },
+- {
+- .name = "usb",
+- .gpio = 12,
+- .active_low = 1,
+ },
+ {
+ .name = "inet:red",
+ .gpio = 9,
+- .active_low = 1,
+ },
+ {
+- .name = "power:red",
++ .name = "power:green",
+ .gpio = 7,
+- .active_low = 1,
+ },
+ {
+- .name = "power:green",
++ .name = "power:red",
+ .gpio = 8,
+- .active_low = 1,
+ .default_trigger = "default-on",
+ },
+ {
+@@ -494,6 +485,44 @@ static struct gpio_led gt701_leds[] = {
+ .gpio = 10,
+ .active_low = 1,
+ },
++ {
++ .name = "wifi",
++ .gpio = 6,
++ .active_low = 1,
++ },
++ {
++ .name = "wifi:red",
++ .gpio = 3,
++ },
++ {
++ .name = "standby",
++ .gpio = 4,
++ },
++ {
++ .name = "wps",
++ .gpio = 16,
++ .active_low = 1,
++ },
++ {
++ .name = "usb",
++ .gpio = 12,
++ .active_low = 1,
++ },
++ {
++ .name = "voip",
++ .gpio = 15,
++ .active_low = 1,
++ },
++ {
++ .name = "line1",
++ .gpio = 23,
++ .active_low = 1,
++ },
++ {
++ .name = "line2",
++ .gpio = 25,
++ .active_low = 1,
++ },
+ };
+
+ static struct gpio_led_platform_data ar7_led_data;
+@@ -537,9 +566,9 @@ static void __init detect_leds(void)
+ } else if (strstr(prid, "CYWM") || strstr(prid, "CYWL")) {
+ ar7_led_data.num_leds = ARRAY_SIZE(titan_leds);
+ ar7_led_data.leds = titan_leds;
+- } else if (strstr(prid, "GT701")) {
+- ar7_led_data.num_leds = ARRAY_SIZE(gt701_leds);
+- ar7_led_data.leds = gt701_leds;
++ } else if (strstr(prid, "GT7") || strstr(prid, "PK5000")) {
++ ar7_led_data.num_leds = ARRAY_SIZE(actiontec_leds);
++ ar7_led_data.leds = actiontec_leds;
+ }
+ }
+