Переглянути джерело

[ARM] 4970/1: tosa: correct gpio used for wake up.

TOSA_GPIO_ON_KEY can't wakeup the device. But the board
provides TOSA_GPIO_POWERON which is OR of (on_ac) and (on_button).
Use it for wake up.

Signed-off-by: Dmitry Baryshkov <dbaryshkov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Dmitry Baryshkov 17 роки тому
батько
коміт
0aa9756133
1 змінених файлів з 17 додано та 1 видалено
  1. 17 1
      arch/arm/mach-pxa/tosa.c

+ 17 - 1
arch/arm/mach-pxa/tosa.c

@@ -325,12 +325,28 @@ static struct platform_device tosakbd_device = {
 };
 };
 
 
 static struct gpio_keys_button tosa_gpio_keys[] = {
 static struct gpio_keys_button tosa_gpio_keys[] = {
+	/*
+	 * Two following keys are directly tied to "ON" button of tosa. Why?
+	 * The first one can be used as a wakeup source, the second can't;
+	 * also the first one is OR of ac_powered and on_button.
+	 */
+	{
+		.type	= EV_PWR,
+		.code	= KEY_RESERVED,
+		.gpio	= TOSA_GPIO_POWERON,
+		.desc	= "Poweron",
+		.wakeup	= 1,
+		.active_low = 1,
+	},
 	{
 	{
 		.type	= EV_PWR,
 		.type	= EV_PWR,
 		.code	= KEY_SUSPEND,
 		.code	= KEY_SUSPEND,
 		.gpio	= TOSA_GPIO_ON_KEY,
 		.gpio	= TOSA_GPIO_ON_KEY,
 		.desc	= "On key",
 		.desc	= "On key",
-		.wakeup	= 1,
+		/*
+		 * can't be used as wakeup
+		 * .wakeup	= 1,
+		 */
 		.active_low = 1,
 		.active_low = 1,
 	},
 	},
 	{
 	{