From 32594e575336322c10d13e384db2aa25e239a90c Mon Sep 17 00:00:00 2001
From: juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Tue, 17 Mar 2009 18:34:11 +0000
Subject: [ar71xx] ap81: register GPIO buttons

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14923 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../ar71xx/files/arch/mips/ar71xx/mach-ap81.c      | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
index c35bac376..5a48dffa4 100644
--- a/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
+++ b/target/linux/ar71xx/files/arch/mips/ar71xx/mach-ap81.c
@@ -9,11 +9,36 @@
  *  by the Free Software Foundation.
  */
 
+#include <linux/input.h>
+
 #include <asm/mips_machine.h>
 #include <asm/mach-ar71xx/ar71xx.h>
 
 #include "devices.h"
 
+#define AP81_GPIO_BTN_SW4	12
+#define AP81_GPIO_BTN_SW1	21
+
+#define AP81_BUTTONS_POLL_INTERVAL	20
+
+static struct gpio_button ap81_gpio_buttons[] __initdata = {
+	{
+		.desc		= "sw1",
+		.type		= EV_KEY,
+		.code		= BTN_0,
+		.threshold	= 5,
+		.gpio		= AP81_GPIO_BTN_SW1,
+		.active_low	= 1,
+	} , {
+		.desc		= "sw4",
+		.type		= EV_KEY,
+		.code		= BTN_1,
+		.threshold	= 5,
+		.gpio		= AP81_GPIO_BTN_SW4,
+		.active_low	= 1,
+	}
+};
+
 static void __init ap81_setup(void)
 {
 	ar71xx_add_device_mdio(0x0);
@@ -32,6 +57,10 @@ static void __init ap81_setup(void)
 
 	ar71xx_add_device_usb();
 
+	ar71xx_add_device_gpio_buttons(-1, AP81_BUTTONS_POLL_INTERVAL,
+					ARRAY_SIZE(ap81_gpio_buttons),
+					ap81_gpio_buttons);
+
 	ar91xx_add_device_wmac();
 }
 
-- 
cgit v1.2.3