drm/bridge: adv7511: Allow IRQ to share GPIO pins
authorAdam Ford <aford173@gmail.com>
Tue, 5 Mar 2024 00:48:57 +0000 (18:48 -0600)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Thu, 4 Apr 2024 12:27:59 +0000 (15:27 +0300)
commitf3d9683346d6b1d6e24f57e954385995601594d4
treef9fa14cf6edfa00fa52cd771ff92938be6224d13
parent45c734fdd43db14444025910b4c59dd2b8be714a
drm/bridge: adv7511: Allow IRQ to share GPIO pins

The IRQ registration currently assumes that the GPIO is dedicated
to it, but that may not necessarily be the case. If the board has
another device sharing the GPIO, it won't be registered and the
hot-plug detect fails to function.

Currently, the handler reads two registers and blindly
assumes one of them caused the interrupt and returns IRQ_HANDLED
unless there is an error. In order to properly do this, the IRQ
handler needs to check if it needs to handle the IRQ and return
IRQ_NONE if there is nothing to handle.  With the check added
and the return code properly indicating whether or not it there
was an IRQ, the IRQF_SHARED can be set to share a GPIO IRQ.

V2:  Add check to see if there is IRQ data to handle

Signed-off-by: Adam Ford <aford173@gmail.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240305004859.201085-1-aford173@gmail.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c