if (!l3)
                return -ENOMEM;
 
+       l3->dev = &pdev->dev;
        platform_set_drvdata(pdev, l3);
 
        /* Get mem resources */
 
                l3->l3_base[i] = devm_ioremap_resource(&pdev->dev, res);
                if (IS_ERR(l3->l3_base[i])) {
-                       dev_err(&pdev->dev, "ioremap %d failed\n", i);
+                       dev_err(l3->dev, "ioremap %d failed\n", i);
                        return PTR_ERR(l3->l3_base[i]);
                }
        }
         * Setup interrupt Handlers
         */
        l3->debug_irq = platform_get_irq(pdev, 0);
-       ret = devm_request_irq(&pdev->dev, l3->debug_irq, l3_interrupt_handler,
+       ret = devm_request_irq(l3->dev, l3->debug_irq, l3_interrupt_handler,
                               IRQF_DISABLED, "l3-dbg-irq", l3);
        if (ret) {
-               dev_err(&pdev->dev, "request_irq failed for %d\n",
+               dev_err(l3->dev, "request_irq failed for %d\n",
                        l3->debug_irq);
                return ret;
        }
 
        l3->app_irq = platform_get_irq(pdev, 1);
-       ret = devm_request_irq(&pdev->dev, l3->app_irq, l3_interrupt_handler,
+       ret = devm_request_irq(l3->dev, l3->app_irq, l3_interrupt_handler,
                               IRQF_DISABLED, "l3-app-irq", l3);
        if (ret)
-               dev_err(&pdev->dev, "request_irq failed for %d\n", l3->app_irq);
+               dev_err(l3->dev, "request_irq failed for %d\n", l3->app_irq);
 
        return ret;
 }