OSDN Git Service

pinctrl: rockchip: Avoid losing interrupts when supporting both edges
authorDoug Anderson <dianders@chromium.org>
Mon, 22 Dec 2014 18:47:29 +0000 (10:47 -0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 14 Jan 2015 13:20:32 +0000 (14:20 +0100)
commit53b1bfc76df23230bbe32fd5879ff4927f04c53a
tree06565fa2acffa4ddf9c3d356235c6c76347fa003
parenteaa27f34e91a14cdceed26ed6c6793ec1d186115
pinctrl: rockchip: Avoid losing interrupts when supporting both edges

I was seeing cases where I was losing interrupts when inserting and
removing SD cards.  Sometimes the card would get "stuck" in the
inserted state.

I believe that the problem was related to the code to handle the case
where we needed both rising and falling edges.  This code would
disable the interrupt as the polarity was switched.  If an interrupt
came at the wrong time it could be lost.

We'll match what the gpio-dwapb.c driver does upstream and change the
interrupt polarity without disabling things.

Signed-off-by: Doug Anderson <dianders@chromium.org>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-rockchip.c