]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm: renesas: shmobile: Convert to use devm_request_irq()
authorGeert Uytterhoeven <geert+renesas@glider.be>
Fri, 15 Sep 2023 08:53:32 +0000 (10:53 +0200)
committerGeert Uytterhoeven <geert+renesas@glider.be>
Mon, 16 Oct 2023 09:47:45 +0000 (11:47 +0200)
Convert to managed IRQ handling, to simplify cleanup.

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/8d870bdc59dd5e2754542388a03095ea09c96297.1694767209.git.geert+renesas@glider.be
drivers/gpu/drm/renesas/shmobile/shmob_drm_drv.c

index 399fedd42271cb495ea30b95be2f70290630aa30..bf3a9c1db177095ec4ce848c3a0306e0ed597b86 100644 (file)
@@ -196,7 +196,6 @@ static void shmob_drm_remove(struct platform_device *pdev)
 
        drm_dev_unregister(ddev);
        drm_kms_helper_poll_fini(ddev);
-       free_irq(sdev->irq, ddev);
        drm_dev_put(ddev);
 }
 
@@ -277,8 +276,8 @@ static int shmob_drm_probe(struct platform_device *pdev)
                goto err_modeset_cleanup;
        sdev->irq = ret;
 
-       ret = request_irq(sdev->irq, shmob_drm_irq, 0, ddev->driver->name,
-                         ddev);
+       ret = devm_request_irq(&pdev->dev, sdev->irq, shmob_drm_irq, 0,
+                              ddev->driver->name, ddev);
        if (ret < 0) {
                dev_err(&pdev->dev, "failed to install IRQ handler\n");
                goto err_modeset_cleanup;
@@ -290,14 +289,12 @@ static int shmob_drm_probe(struct platform_device *pdev)
         */
        ret = drm_dev_register(ddev, 0);
        if (ret < 0)
-               goto err_irq_uninstall;
+               goto err_modeset_cleanup;
 
        drm_fbdev_generic_setup(ddev, 16);
 
        return 0;
 
-err_irq_uninstall:
-       free_irq(sdev->irq, ddev);
 err_modeset_cleanup:
        drm_kms_helper_poll_fini(ddev);
 err_free_drm_dev: