summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Wadekar <vwadekar@nvidia.com>2012-03-27 16:05:41 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2012-03-27 13:10:12 -0700
commit2d5b0acfa3a4be1cbd9b92c515daf8ebf3efd860 (patch)
treebac20158f81c4eb00c6e1ed22e810434761e31b1
parent87f9143fd12e0305daf49d0af59a8538c3438f95 (diff)
ARM: tegra: gpio: add suspend-resume support
Change-Id: I641b14ddd3e9cbad2b894cf128c27ba406da1e58 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
-rw-r--r--drivers/gpio/gpio-tegra.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index 049f97b9a9aa..8f32d32acdfa 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -28,6 +28,7 @@
#include <linux/platform_device.h>
#include <linux/module.h>
#include <linux/delay.h>
+#include <linux/syscore_ops.h>
#include <asm/mach/irq.h>
@@ -399,8 +400,21 @@ static int tegra_gpio_irq_set_wake(struct irq_data *d, unsigned int enable)
}
#else
#define tegra_gpio_irq_set_wake NULL
+#define tegra_gpio_suspend NULL
+#define tegra_gpio_resume NULL
#endif
+static struct syscore_ops tegra_gpio_syscore_ops = {
+ .suspend = tegra_gpio_suspend,
+ .resume = tegra_gpio_resume,
+};
+
+int tegra_gpio_resume_init(void)
+{
+ register_syscore_ops(&tegra_gpio_syscore_ops);
+ return 0;
+}
+
static struct irq_chip tegra_gpio_irq_chip = {
.name = "GPIO",
.irq_ack = tegra_gpio_irq_ack,