From 118ada3e9013518ab9e243f24fc05be377012f1f Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E6=B2=88=E7=9D=BF=E6=B1=80?= Date: Wed, 9 Jun 2010 08:30:59 +0000 Subject: [PATCH] update for gpio PM --- arch/arm/mach-rk2818/gpio.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/arm/mach-rk2818/gpio.c b/arch/arm/mach-rk2818/gpio.c index b225a5349c07..b39c19e5ab28 100644 --- a/arch/arm/mach-rk2818/gpio.c +++ b/arch/arm/mach-rk2818/gpio.c @@ -659,6 +659,8 @@ void rk2818_gpio_suspend(void) wakeupsDepth[i] = 1; clk_disable(rk2818gpio_chip[i].bank->clock); } + else if(wakeups[i]) + rk2818_gpio_write(rk2818gpio_chip[i].regbase,GPIO_INTEN,wakeups[i]); } return; } @@ -923,15 +925,15 @@ static void gpio_irq_handler(unsigned irq, struct irq_desc *desc) while (isr) { if (isr & 1) { - if (unlikely(gpio->depth)) { + //if (unlikely(gpio->depth)) { /* * The core ARM interrupt handler lazily disables IRQs so * another IRQ must be generated before it actually gets * here to be disabled on the GPIO controller. */ - gpio_irq_mask(gpioToirq); - } - else + // gpio_irq_mask(gpioToirq); + //} + //else { unsigned int gpio_Int_Level = 0; unsigned int mask = pin_to_mask(pin); -- 2.34.1