diff options
author | Varun Wadekar <vwadekar@nvidia.com> | 2012-03-27 16:05:41 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2012-03-27 13:10:12 -0700 |
commit | 2d5b0acfa3a4be1cbd9b92c515daf8ebf3efd860 (patch) | |
tree | bac20158f81c4eb00c6e1ed22e810434761e31b1 | |
parent | 87f9143fd12e0305daf49d0af59a8538c3438f95 (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.c | 14 |
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, |