drm/bridge: tpd12s015: Fix irq registering in tpd12s015_probe
authorYueHaibing <yuehaibing@huawei.com>
Mon, 2 Nov 2020 14:30:24 +0000 (22:30 +0800)
committerSam Ravnborg <sam@ravnborg.org>
Thu, 5 Nov 2020 21:09:09 +0000 (22:09 +0100)
gpiod_to_irq() return negative value in case of error,
the existing code doesn't handle negative error codes.
If the HPD gpio supports IRQs (gpiod_to_irq returns a
valid number), we use the IRQ. If it doesn't (gpiod_to_irq
returns an error), it gets polled via detect().

Fixes: cff5e6f7e83f ("drm/bridge: Add driver for the TI TPD12S015 HDMI level shifter")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20201102143024.26216-1-yuehaibing@huawei.com
drivers/gpu/drm/bridge/ti-tpd12s015.c

index 514cbf0..e0e0152 100644 (file)
@@ -160,7 +160,7 @@ static int tpd12s015_probe(struct platform_device *pdev)
 
        /* Register the IRQ if the HPD GPIO is IRQ-capable. */
        tpd->hpd_irq = gpiod_to_irq(tpd->hpd_gpio);
-       if (tpd->hpd_irq) {
+       if (tpd->hpd_irq >= 0) {
                ret = devm_request_threaded_irq(&pdev->dev, tpd->hpd_irq, NULL,
                                                tpd12s015_hpd_isr,
                                                IRQF_TRIGGER_RISING |