gpio: mxc: move gpio noirq suspend/resume to syscore phase
authorAnson Huang <anson.huang@nxp.com>
Sun, 17 Feb 2019 22:05:33 +0000 (23:05 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Feb 2019 09:25:44 +0000 (10:25 +0100)
commitede7fb452221c2dc5a401eff4e920d79f3ed4662
tree8a4ab61e2280bc972dd546d2697d490d922f882d
parentb1765ebd9d12c3aa46e1c94764723a373ad57341
gpio: mxc: move gpio noirq suspend/resume to syscore phase

commit 1a5287a3dbc34cd0c02c8f64c9131bd23cdfe2bb upstream.

During noirq suspend/resume phase, GPIO irq could arrive
and its registers like IMR will be changed by irq handle
process, to make the GPIO registers exactly when it is
powered ON after resume, move the GPIO noirq suspend/resume
callback to syscore suspend/resume phase, local irq is
disabled at this phase so GPIO registers are atomic.

Fixes: c19fdaeea0aa ("gpio: mxc: add power management support")
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Martin Hundebøll <martin@geanix.com>
Cc: <stable@vger.kernel.org> # 4.19.x+
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-mxc.c