diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-12-14 20:21:42 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-12-14 20:21:42 +0000 |
commit | f3906a190c6fef4797f4b412afe65dc6dead6c58 (patch) | |
tree | 5552cb039ea24e4f33445e08f009152092b97ac5 | |
parent | af0dd984dcc066567676d80719ca28c942a32ed4 (diff) | |
download | master-187ad058-f3906a190c6fef4797f4b412afe65dc6dead6c58.tar.gz master-187ad058-f3906a190c6fef4797f4b412afe65dc6dead6c58.tar.bz2 master-187ad058-f3906a190c6fef4797f4b412afe65dc6dead6c58.zip |
ar71xx: register extra leds behind the wireless mac on wzr-hp-g450h
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29531 3c298f89-4303-0410-b956-a3cf2f4a3e73
3 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c index 2b75f7bcb7..7cd8c6594e 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.c @@ -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; diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.h b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.h index e471083dee..ebcbc47299 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.h +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap91-pci.h @@ -11,14 +11,18 @@ #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 */ diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g450h.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g450h.c index f9cc025e43..03376bb921 100644 --- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g450h.c +++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wzr-hp-g450h.c @@ -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", |