ar71xx: register extra leds behind the wireless mac on wzr-hp-g450h
authorFelix Fietkau <nbd@openwrt.org>
Wed, 14 Dec 2011 20:21:42 +0000 (20:21 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 14 Dec 2011 20:21:42 +0000 (20:21 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29531 3c298f89-4303-0410-b956-a3cf2f4a3e73

target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c
target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.h
target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g450h.c

index 2b75f7b..7cd8c65 100644 (file)
@@ -42,6 +42,12 @@ static int ap91_pci_plat_dev_init(struct pci_dev *dev)
        return 0;
 }
 
+__init void ap91_pci_setup_wmac_leds(struct gpio_led *leds, int num_leds)
+{
+       ap91_wmac_data.leds = leds;
+       ap91_wmac_data.num_leds = num_leds;
+}
+
 __init void ap91_pci_setup_wmac_led_pin(int pin)
 {
        ap91_wmac_data.led_pin = pin;
index e471083..ebcbc47 100644 (file)
 #ifndef _AR71XX_DEV_AP91_PCI_H
 #define _AR71XX_DEV_AP91_PCI_H
 
+#include <linux/leds.h>
+
 #if defined(CONFIG_AR71XX_DEV_AP91_PCI)
 void ap91_pci_init(u8 *cal_data, u8 *mac_addr) __init;
 void ap91_pci_setup_wmac_led_pin(int pin) __init;
 void ap91_pci_setup_wmac_gpio(u32 mask, u32 val) __init;
+void ap91_pci_setup_wmac_leds(struct gpio_led *leds, int num_leds) __init;
 #else
 static inline void ap91_pci_init(u8 *cal_data, u8 *mac_addr) { }
 static inline void ap91_pci_setup_wmac_led_pin(int pin) { }
 static inline void ap91_pci_setup_wmac_gpio(u32 mask, u32 gpio) { }
+static inline void ap91_pci_setup_wmac_leds(struct gpio_led *leds, int num_leds) { };
 #endif
 
 #endif /* _AR71XX_DEV_AP91_PCI_H */
index f9cc025..03376bb 100644 (file)
@@ -82,6 +82,20 @@ static struct gpio_led wzrhpg450h_leds_gpio[] __initdata = {
        },
 };
 
+
+static struct gpio_led wzrhpg450h_wmac_leds_gpio[] = {
+       {
+               .name           = "buffalo:blue:movie_engine",
+               .gpio           = 13,
+               .active_low     = 1,
+       },
+       {
+               .name           = "buffalo:green:router",
+               .gpio           = 14,
+               .active_low     = 1,
+       },
+};
+
 static struct gpio_keys_button wzrhpg450h_gpio_keys[] __initdata = {
        {
                .desc           = "reset",
@@ -151,6 +165,8 @@ static void __init wzrhpg450h_init(void)
 
        ap91_pci_init(ee, NULL);
        ap91_pci_setup_wmac_led_pin(15);
+       ap91_pci_setup_wmac_leds(wzrhpg450h_wmac_leds_gpio,
+                                ARRAY_SIZE(wzrhpg450h_wmac_leds_gpio));
 }
 
 MIPS_MACHINE(AR71XX_MACH_WZR_HP_G450H, "WZR-HP-G450H", "Buffalo WZR-HP-G450H",