video: sa1100fb: use devm_request_irq()
authorRussell King <rmk+kernel@armlinux.org.uk>
Tue, 17 Oct 2017 14:01:12 +0000 (16:01 +0200)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Tue, 17 Oct 2017 14:01:12 +0000 (16:01 +0200)
Use devm_request_irq() to request the interrupt (a little earlier too)
so we can avoid having to manually clean this up.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/sa1100fb.c

index ab83970..a48fdb6 100644 (file)
@@ -1239,22 +1239,23 @@ static int sa1100fb_probe(struct platform_device *pdev)
                goto failed;
        }
 
-       /* Initialize video memory */
-       ret = sa1100fb_map_video_memory(fbi);
-       if (ret)
-               goto failed;
-
-       ret = request_irq(irq, sa1100fb_handle_irq, 0, "LCD", fbi);
+       ret = devm_request_irq(&pdev->dev, irq, sa1100fb_handle_irq, 0,
+                              "LCD", fbi);
        if (ret) {
                dev_err(&pdev->dev, "request_irq failed: %d\n", ret);
                goto failed;
        }
 
+       /* Initialize video memory */
+       ret = sa1100fb_map_video_memory(fbi);
+       if (ret)
+               goto failed;
+
        if (machine_is_shannon()) {
                ret = gpio_request_one(SHANNON_GPIO_DISP_EN,
                        GPIOF_OUT_INIT_LOW, "display enable");
                if (ret)
-                       goto err_free_irq;
+                       goto failed;
        }
 
        /*
@@ -1282,8 +1283,6 @@ static int sa1100fb_probe(struct platform_device *pdev)
  err_reg_fb:
        if (machine_is_shannon())
                gpio_free(SHANNON_GPIO_DISP_EN);
- err_free_irq:
-       free_irq(irq, fbi);
  failed:
        return ret;
 }