• U
    gpio/mxc: mask gpio interrupts in suspend · 952cfbd3
    Ulises Brindis 提交于
    Currently in the FSL platform all GPIO interrupts in a bank are muxed
    into two GPIO lines to the GPC interrupt controller. In each GPIO bank
    GPIOs 0-15 are OR'ed into one GPC interrupt controller interrupt and 16-31
    are OR'ed into another. With the current code, if any of the 0-15 or
    16-31 interrupts are marked as wakeup capable, all interrupts belonging
    to that sub-bank (either 0-15 or 16-31) will wake up the device. This is
    because interrupts are only being masked at the interrupt controller
    and not at the GPIO controller.
    
    This patch allows masking of GPIO interrupts at the GPIO controller during
    suspend if they have not been labeled wakeup capable. This patch uses
    preexisting IRQCHIP_MASK_ON_SUSPEND flag while initializing the GPIO
    interrupts to get the desired behavior.
    
    Cc: Linus Walleij <linus.walleij@linaro.org>
    Cc: Alexandre Courbot <gnurou@gmail.com>
    Cc: linux-gpio@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
    Signed-off-by: NUlises Brindis <ubrindis56@gmail.com>
    Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
    952cfbd3
gpio-mxc.c 13.3 KB