arm: mach-omap2: omap_l3_smx: fix irq handler setup
authorAaro Koskinen <aaro.koskinen@nokia.com>
Fri, 18 Mar 2011 23:53:20 +0000 (16:53 -0700)
committerTony Lindgren <tony@atomide.com>
Fri, 18 Mar 2011 23:53:20 +0000 (16:53 -0700)
The handler function may be called from the point it is registered.
Since the handler inspects IRQ numbers, we must set them up before
registration.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com>
Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/omap_l3_smx.c

index 265bff3..5f2da75 100644 (file)
@@ -226,7 +226,6 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
        struct omap3_l3         *l3;
        struct resource         *res;
        int                     ret;
-       int                     irq;
 
        l3 = kzalloc(sizeof(*l3), GFP_KERNEL);
        if (!l3) {
@@ -249,18 +248,17 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
                goto err2;
        }
 
-       irq = platform_get_irq(pdev, 0);
-       ret = request_irq(irq, omap3_l3_app_irq,
+       l3->debug_irq = platform_get_irq(pdev, 0);
+       ret = request_irq(l3->debug_irq, omap3_l3_app_irq,
                IRQF_DISABLED | IRQF_TRIGGER_RISING,
                "l3-debug-irq", l3);
        if (ret) {
                dev_err(&pdev->dev, "couldn't request debug irq\n");
                goto err3;
        }
-       l3->debug_irq = irq;
 
-       irq = platform_get_irq(pdev, 1);
-       ret = request_irq(irq, omap3_l3_app_irq,
+       l3->app_irq = platform_get_irq(pdev, 1);
+       ret = request_irq(l3->app_irq, omap3_l3_app_irq,
                IRQF_DISABLED | IRQF_TRIGGER_RISING,
                "l3-app-irq", l3);
 
@@ -269,7 +267,6 @@ static int __init omap3_l3_probe(struct platform_device *pdev)
                goto err4;
        }
 
-       l3->app_irq = irq;
        goto err0;
 
 err4: