]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00277955-1 keyboard: gpio_keys: support wakeup system from freeze mode
authorAnson Huang <b20788@freescale.com>
Wed, 4 Sep 2013 01:43:48 +0000 (21:43 -0400)
committerLothar Waßmann <LW@KARO-electronics.de>
Wed, 20 Aug 2014 08:06:26 +0000 (10:06 +0200)
To support wakeup system from freeze mode of suspend,
device's irq can NOT be disabled during devices suspend,
so we need to add IRQF_NO_SUSPEND flag to irqflags.

Signed-off-by: Anson Huang <b20788@freescale.com>
drivers/input/keyboard/gpio_keys.c

index 8c98e97f8e41144a08c53e4c5ee1eefca9ebfb0f..675dbf8d3aa35ad909dd8007c6d35e887ac8deab 100644 (file)
@@ -3,6 +3,7 @@
  *
  * Copyright 2005 Phil Blundell
  * Copyright 2010, 2011 David Jander <david@protonic.nl>
+ * Copyright (C) 2013 Freescale Semiconductor, Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -485,6 +486,8 @@ static int gpio_keys_setup_key(struct platform_device *pdev,
 
                isr = gpio_keys_gpio_isr;
                irqflags = IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING;
+               if (bdata->button->wakeup)
+                       irqflags |= IRQF_NO_SUSPEND;
 
        } else {
                if (!button->irq) {