From: 沈睿汀 Date: Wed, 9 Jun 2010 08:30:59 +0000 (+0000) Subject: update for gpio PM X-Git-Tag: firefly_0821_release~11397 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=118ada3e9013518ab9e243f24fc05be377012f1f;p=firefly-linux-kernel-4.4.55.git update for gpio PM --- 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);