gpio: pxa: handle corner case of unprobed device
authorRobert Jarzmik <robert.jarzmik@free.fr>
Sat, 25 Aug 2018 08:44:17 +0000 (10:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Apr 2019 07:07:51 +0000 (09:07 +0200)
commite3f3cab9e10a0859bfa5374b40e2cdebc3b94cb7
tree37355fca75783c9dee145e32e4e49277c8fc48a7
parent7e8000676e93d4aec02b8fd8b5003187a662cc42
gpio: pxa: handle corner case of unprobed device

[ Upstream commit 9ce3ebe973bf4073426f35f282c6b955ed802765 ]

In the corner case where the gpio driver probe fails, for whatever
reason, the suspend and resume handlers will still be called as they
have to be registered as syscore operations. This applies as well when
no probe was called while the driver has been built in the kernel.

Nicolas tracked this in :
https://bugzilla.kernel.org/show_bug.cgi?id=200905

Therefore, add a failsafe in these function, and test if a proper probe
succeeded and the driver is functional.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Reported-by: Nicolas Chauvet <kwizart@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-pxa.c