media: synopsys: hdmirx: support use with sleeping GPIOs
The recent change in commit
20cf2aed89ac ("gpio: rockchip: mark the GPIO
controller as sleeping") to mark the rockchip GPIO driver as sleeping
has started triggering the warning at drivers/gpio/gpiolib.c:3523
indicating that a sleepable GPIO was called via the non-sleeping APIs on
the Rock 5B:
<4>[ 14.699308] Call trace:
<4>[ 14.699545] gpiod_get_value+0x90/0x98 (P)
<4>[ 14.699928] tx_5v_power_present+0x44/0xd0 [synopsys_hdmirx]
<4>[ 14.700446] hdmirx_delayed_work_hotplug+0x34/0x128 [synopsys_hdmirx]
<4>[ 14.701031] process_one_work+0x14c/0x28c
<4>[ 14.701405] worker_thread+0x184/0x300
<4>[ 14.701756] kthread+0x11c/0x128
<4>[ 14.702065] ret_from_fork+0x10/0x20
Currently the active use of the GPIO is all done from process context so
can be simply converted to use gpiod_get_value_cansleep(). There is one use
of the GPIO from hard interrupt context but this is only done so the status
can be displayed in a debug print so can simply be deleted without any
functional effect.
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Acked-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>