diff options
Diffstat (limited to 'target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch')
-rw-r--r-- | target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch b/target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch deleted file mode 100644 index 30f75fc..0000000 --- a/target/linux/orion/patches/090-wrt350nv2_gpio_leds_buttons.patch +++ /dev/null @@ -1,102 +0,0 @@ ---- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c -+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c -@@ -15,6 +15,9 @@ - #include <linux/mtd/physmap.h> - #include <linux/mv643xx_eth.h> - #include <linux/ethtool.h> -+#include <linux/leds.h> -+#include <linux/gpio_keys.h> -+#include <linux/input.h> - #include <net/dsa.h> - #include <asm/mach-types.h> - #include <asm/gpio.h> -@@ -24,6 +27,80 @@ - #include "common.h" - #include "mpp.h" - -+/* -+ * LEDs attached to GPIO -+ */ -+static struct gpio_led wrt350n_v2_led_pins[] = { -+ { -+ .name = "wrt350nv2:green:power", -+ .gpio = 0, -+ .active_low = 1, -+ }, { -+ .name = "wrt350nv2:green:security", -+ .gpio = 1, -+ .active_low = 1, -+ }, { -+ .name = "wrt350nv2:orange:power", -+ .gpio = 5, -+ .active_low = 1, -+ }, { -+ .name = "wrt350nv2:green:usb", -+ .gpio = 6, -+ .active_low = 1, -+ }, { -+ .name = "wrt350nv2:green:wireless", -+ .gpio = 7, -+ .active_low = 1, -+ }, -+}; -+ -+static struct gpio_led_platform_data wrt350n_v2_led_data = { -+ .leds = wrt350n_v2_led_pins, -+ .num_leds = ARRAY_SIZE(wrt350n_v2_led_pins), -+}; -+ -+static struct platform_device wrt350n_v2_leds = { -+ .name = "leds-gpio", -+ .id = -1, -+ .dev = { -+ .platform_data = &wrt350n_v2_led_data, -+ }, -+}; -+ -+/* -+ * Buttons attached to GPIO -+ */ -+static struct gpio_keys_button wrt350n_v2_buttons[] = { -+ { -+ .code = KEY_RESTART, -+ .gpio = 3, -+ .desc = "Reset Button", -+ .active_low = 1, -+ }, { -+ .code = KEY_WLAN, -+ .gpio = 2, -+ .desc = "WPS Button", -+ .active_low = 1, -+ }, -+}; -+ -+static struct gpio_keys_platform_data wrt350n_v2_button_data = { -+ .buttons = wrt350n_v2_buttons, -+ .nbuttons = ARRAY_SIZE(wrt350n_v2_buttons), -+}; -+ -+static struct platform_device wrt350n_v2_button_device = { -+ .name = "gpio-keys", -+ .id = -1, -+ .num_resources = 0, -+ .dev = { -+ .platform_data = &wrt350n_v2_button_data, -+ }, -+}; -+ -+/* -+ * General setup -+ */ - static struct orion5x_mpp_mode wrt350n_v2_mpp_modes[] __initdata = { - { 0, MPP_GPIO }, /* Power LED green (0=on) */ - { 1, MPP_GPIO }, /* Security LED (0=on) */ -@@ -140,6 +217,8 @@ static void __init wrt350n_v2_init(void) - orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, - WRT350N_V2_NOR_BOOT_SIZE); - platform_device_register(&wrt350n_v2_nor_flash); -+ platform_device_register(&wrt350n_v2_button_device); -+ platform_device_register(&wrt350n_v2_leds); - } - - static int __init wrt350n_v2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) |