[ARM] 5263/2: [AT91] GPIO buttons as wakeup sources
authorAndrew Victor <linux@maxim.org.za>
Sun, 21 Sep 2008 20:34:06 +0000 (21:34 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 21 Sep 2008 22:01:00 +0000 (23:01 +0100)
Allow the various GPIO-connected buttons to be used as wakeup sources.
Also enable the internal GPIO pullup.

Signed-off-by: Sedji Gaouaou <sedji.gaouaou@atmel.com>
Signed-off-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-at91/board-csb337.c
arch/arm/mach-at91/board-sam9261ek.c
arch/arm/mach-at91/board-sam9263ek.c

index 4bdf69d552eb0e24babfe567e85250e62c39afe5..fea2529ebcf9c781acb131aa7a1517bfc20ca772 100644 (file)
@@ -193,11 +193,11 @@ static struct platform_device csb300_button_device = {
 
 static void __init csb300_add_device_buttons(void)
 {
-       at91_set_gpio_input(AT91_PIN_PB29, 0);  /* sw0 */
+       at91_set_gpio_input(AT91_PIN_PB29, 1);  /* sw0 */
        at91_set_deglitch(AT91_PIN_PB29, 1);
-       at91_set_gpio_input(AT91_PIN_PB28, 0);  /* sw1 */
+       at91_set_gpio_input(AT91_PIN_PB28, 1);  /* sw1 */
        at91_set_deglitch(AT91_PIN_PB28, 1);
-       at91_set_gpio_input(AT91_PIN_PA21, 0);  /* sw2 */
+       at91_set_gpio_input(AT91_PIN_PA21, 1);  /* sw2 */
        at91_set_deglitch(AT91_PIN_PA21, 1);
 
        platform_device_register(&csb300_button_device);
@@ -224,7 +224,7 @@ static struct gpio_led csb_leds[] = {
                .gpio                   = AT91_PIN_PB0,
                .active_low             = 1,
                .default_trigger        = "ide-disk",
-       },
+       }
 };
 
 
index 03d3382cfef65ba9575cddb634d176ed4ba7d56c..4977409d4fc6bcb72e3f17fa8a5646526040b9e5 100644 (file)
@@ -435,24 +435,28 @@ static struct gpio_keys_button ek_buttons[] = {
                .code           = BTN_0,
                .desc           = "Button 0",
                .active_low     = 1,
+               .wakeup         = 1,
        },
        {
                .gpio           = AT91_PIN_PA26,
                .code           = BTN_1,
                .desc           = "Button 1",
                .active_low     = 1,
+               .wakeup         = 1,
        },
        {
                .gpio           = AT91_PIN_PA25,
                .code           = BTN_2,
                .desc           = "Button 2",
                .active_low     = 1,
+               .wakeup         = 1,
        },
        {
                .gpio           = AT91_PIN_PA24,
                .code           = BTN_3,
                .desc           = "Button 3",
                .active_low     = 1,
+               .wakeup         = 1,
        }
 };
 
@@ -472,13 +476,13 @@ static struct platform_device ek_button_device = {
 
 static void __init ek_add_device_buttons(void)
 {
-       at91_set_gpio_input(AT91_PIN_PA27, 0);  /* btn0 */
+       at91_set_gpio_input(AT91_PIN_PA27, 1);  /* btn0 */
        at91_set_deglitch(AT91_PIN_PA27, 1);
-       at91_set_gpio_input(AT91_PIN_PA26, 0);  /* btn1 */
+       at91_set_gpio_input(AT91_PIN_PA26, 1);  /* btn1 */
        at91_set_deglitch(AT91_PIN_PA26, 1);
-       at91_set_gpio_input(AT91_PIN_PA25, 0);  /* btn2 */
+       at91_set_gpio_input(AT91_PIN_PA25, 1);  /* btn2 */
        at91_set_deglitch(AT91_PIN_PA25, 1);
-       at91_set_gpio_input(AT91_PIN_PA24, 0);  /* btn3 */
+       at91_set_gpio_input(AT91_PIN_PA24, 1);  /* btn3 */
        at91_set_deglitch(AT91_PIN_PA24, 1);
 
        platform_device_register(&ek_button_device);
index 2924b6884fe25b9f38e332aa32f213ef868a1e3d..8354015c6a23268817caeccfe58f26646d8a7c60 100644 (file)
@@ -297,7 +297,7 @@ static struct gpio_keys_button ek_buttons[] = {
                .active_low     = 1,
                .desc           = "right_click",
                .wakeup         = 1,
-       },
+       }
 };
 
 static struct gpio_keys_platform_data ek_button_data = {
@@ -316,9 +316,9 @@ static struct platform_device ek_button_device = {
 
 static void __init ek_add_device_buttons(void)
 {
-       at91_set_GPIO_periph(AT91_PIN_PC5, 0);  /* left button */
+       at91_set_GPIO_periph(AT91_PIN_PC5, 1);  /* left button */
        at91_set_deglitch(AT91_PIN_PC5, 1);
-       at91_set_GPIO_periph(AT91_PIN_PC4, 0);  /* right button */
+       at91_set_GPIO_periph(AT91_PIN_PC4, 1);  /* right button */
        at91_set_deglitch(AT91_PIN_PC4, 1);
 
        platform_device_register(&ek_button_device);