pinctrl: single: Clear pin interrupts enabled by bootloader
authorTony Lindgren <tony@atomide.com>
Thu, 10 Apr 2014 23:47:19 +0000 (16:47 -0700)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 23 Apr 2014 13:56:56 +0000 (15:56 +0200)
commit58968625c496c2e39545781915dbb848b38bd249
tree210dd4537fa58abdbca0f29cbbd15a1252f74beb
parenta73d2e30b46787d478275db36c19222020e29dc5
pinctrl: single: Clear pin interrupts enabled by bootloader

Since we set up device wake-up interrupts as pinctrl-single
interrupts, we now must use the standard request_irq and
related functions to manage them.

If the pin interrupts are enabled for some pins at boot,
the wake-up events can show up as constantly pending
at least on omaps and will hang the system unless the related
device driver clears the event at the device.

To fix this, let's clear the interrupt flags during init,
and print out a warning so the board maintainers can update
their drivers to do proper request_irq for the driver specific
wake-up events.

Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-single.c