From dfb6e4d9fc9038dee8775ffe66f59e60181593b0 Mon Sep 17 00:00:00 2001 From: Nishanth Menon Date: Fri, 9 Sep 2011 19:08:58 +0530 Subject: [PATCH] --- yaml --- r: 295653 b: refs/heads/master c: ae547354a8ed59f19b57f7e1de9c7816edfc3537 h: refs/heads/master i: 295651: 85ab1ab6a965675e9a23934c5b415faf6d96cb10 v: v3 --- [refs] | 2 +- trunk/drivers/gpio/gpio-omap.c | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 892c845bc783..1a4a48cd5471 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 41d87cbd660fd5793a6c70f9c93d9dcc8964179d +refs/heads/master: ae547354a8ed59f19b57f7e1de9c7816edfc3537 diff --git a/trunk/drivers/gpio/gpio-omap.c b/trunk/drivers/gpio/gpio-omap.c index 62c49e0f7f29..f6b2c51b2935 100644 --- a/trunk/drivers/gpio/gpio-omap.c +++ b/trunk/drivers/gpio/gpio-omap.c @@ -44,6 +44,8 @@ struct gpio_regs { u32 risingdetect; u32 fallingdetect; u32 dataout; + u32 debounce; + u32 debounce_en; }; struct gpio_bank { @@ -229,6 +231,10 @@ static void _set_gpio_debounce(struct gpio_bank *bank, unsigned gpio, * that point. Therefore we have to enable dbck here. */ _gpio_dbck_enable(bank); + if (bank->dbck_enable_mask) { + bank->context.debounce = debounce; + bank->context.debounce_en = val; + } } static inline void set_gpio_trigger(struct gpio_bank *bank, int gpio, @@ -1363,6 +1369,12 @@ static void omap_gpio_restore_context(struct gpio_bank *bank) __raw_writel(bank->context.fallingdetect, bank->base + bank->regs->fallingdetect); __raw_writel(bank->context.dataout, bank->base + bank->regs->dataout); + if (bank->dbck_enable_mask) { + __raw_writel(bank->context.debounce, bank->base + + bank->regs->debounce); + __raw_writel(bank->context.debounce_en, + bank->base + bank->regs->debounce_en); + } } #endif /* CONFIG_PM_RUNTIME */ #else