]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
drm/bridge: analogix_dp: Add irq flag IRQF_NO_AUTOEN instead of calling disable_irq()
authorDamon Ding <damon.ding@rock-chips.com>
Mon, 10 Mar 2025 10:41:02 +0000 (18:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 27 Jun 2025 10:04:15 +0000 (11:04 +0100)
[ Upstream commit efab13e7d13a641a22c7508cde6e1a5285161944 ]

The IRQF_NO_AUTOEN can be used for the drivers that don't want
interrupts to be enabled automatically via devm_request_threaded_irq().
Using this flag can provide be more robust compared to the way of
calling disable_irq() after devm_request_threaded_irq() without the
IRQF_NO_AUTOEN flag.

Suggested-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Damon Ding <damon.ding@rock-chips.com>
Link: https://lore.kernel.org/r/20250310104114.2608063-2-damon.ding@rock-chips.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c

index e8baa07450b7dc08174cf404810f7063a4b6243e..3d8f08d8956120db17eba643b9052f24f44f765d 100644 (file)
@@ -1778,10 +1778,10 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
                 * that we can get the current state of the GPIO.
                 */
                dp->irq = gpiod_to_irq(dp->hpd_gpiod);
-               irq_flags = IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING;
+               irq_flags = IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING | IRQF_NO_AUTOEN;
        } else {
                dp->irq = platform_get_irq(pdev, 0);
-               irq_flags = 0;
+               irq_flags = IRQF_NO_AUTOEN;
        }
 
        if (dp->irq == -ENXIO) {
@@ -1798,7 +1798,6 @@ analogix_dp_probe(struct device *dev, struct analogix_dp_plat_data *plat_data)
                dev_err(&pdev->dev, "failed to request irq\n");
                goto err_disable_clk;
        }
-       disable_irq(dp->irq);
 
        return dp;