OSDN Git Service

drivers: bus: omap_l3: Convert to use devm_request_irq()
authorPeter Ujfalusi <peter.ujfalusi@ti.com>
Tue, 1 Apr 2014 13:23:48 +0000 (16:23 +0300)
committerNishanth Menon <nm@ti.com>
Mon, 5 May 2014 19:32:15 +0000 (14:32 -0500)
With this we can remove the free_irq() calls from probe and remove.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Nishanth Menon <nm@ti.com>
Tested-by: Sekhar Nori <nsekhar@ti.com>
drivers/bus/omap_l3_noc.c

index 6f58be3..25bcb60 100644 (file)
@@ -155,9 +155,8 @@ static int omap4_l3_probe(struct platform_device *pdev)
         * Setup interrupt Handlers
         */
        l3->debug_irq = platform_get_irq(pdev, 0);
-       ret = request_irq(l3->debug_irq,
-                       l3_interrupt_handler,
-                       IRQF_DISABLED, "l3-dbg-irq", l3);
+       ret = devm_request_irq(&pdev->dev, l3->debug_irq, l3_interrupt_handler,
+                              IRQF_DISABLED, "l3-dbg-irq", l3);
        if (ret) {
                pr_crit("L3: request_irq failed to register for 0x%x\n",
                                                l3->debug_irq);
@@ -165,29 +164,17 @@ static int omap4_l3_probe(struct platform_device *pdev)
        }
 
        l3->app_irq = platform_get_irq(pdev, 1);
-       ret = request_irq(l3->app_irq,
-                       l3_interrupt_handler,
-                       IRQF_DISABLED, "l3-app-irq", l3);
-       if (ret) {
+       ret = devm_request_irq(&pdev->dev, l3->app_irq, l3_interrupt_handler,
+                              IRQF_DISABLED, "l3-app-irq", l3);
+       if (ret)
                pr_crit("L3: request_irq failed to register for 0x%x\n",
                                                l3->app_irq);
-               goto err4;
-       }
-
-       return 0;
 
-err4:
-       free_irq(l3->debug_irq, l3);
        return ret;
 }
 
 static int omap4_l3_remove(struct platform_device *pdev)
 {
-       struct omap4_l3 *l3 = platform_get_drvdata(pdev);
-
-       free_irq(l3->app_irq, l3);
-       free_irq(l3->debug_irq, l3);
-
        return 0;
 }