UPSTREAM: pinctrl: rockchip: avoid hardirq-unsafe functions in irq_chip
authorJohn Keeping <john@metanate.com>
Thu, 23 Mar 2017 10:59:31 +0000 (10:59 +0000)
committerHuang, Tao <huangtao@rock-chips.com>
Thu, 1 Jun 2017 06:26:40 +0000 (14:26 +0800)
commita8b4e18cf1e98ed3b36175cb4e3ef422c03ac01c
tree5bba91f2424ecfa57a3e2689f9c1a0f5ef9be84f
parent288b398ff56d4b6cf3a847efddf63bd2578cd220
UPSTREAM: pinctrl: rockchip: avoid hardirq-unsafe functions in irq_chip

With real-time preemption, regmap functions cannot be used in the
implementation of irq_chip since they use spinlocks which may sleep.

Move the setting of the mux for IRQs to an irq_bus_sync_unlock handler
where we are allowed to sleep.

Signed-off-by: John Keeping <john@metanate.com>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David Wu <david.wu@rock-chips.com>
(cherry picked from commit 88bb94216f59e10802aaf78c858a4146085faf18)

Signed-off-by: David Wu <david.wu@rock-chips.com>
Change-Id: I94ae59be60c34022fdfdf67cd5b3059d852a5969
drivers/pinctrl/pinctrl-rockchip.c