ret = acp63_init(adata->acp63_base, &pci->dev);
        if (ret)
                goto release_regions;
+       ret = devm_request_irq(&pci->dev, pci->irq, acp63_irq_handler,
+                              irqflags, "ACP_PCI_IRQ", adata);
+       if (ret) {
+               dev_err(&pci->dev, "ACP PCI IRQ request failed\n");
+               goto de_init;
+       }
        val = acp63_readl(adata->acp63_base + ACP_PIN_CONFIG);
        get_acp63_device_config(val, pci, adata);
        ret = create_acp63_platform_devs(pci, adata, addr);
                dev_err(&pci->dev, "ACP platform devices creation failed\n");
                goto de_init;
        }
-       ret = devm_request_irq(&pci->dev, pci->irq, acp63_irq_handler,
-                              irqflags, "ACP_PCI_IRQ", adata);
-       if (ret) {
-               dev_err(&pci->dev, "ACP PCI IRQ request failed\n");
-               goto de_init;
-       }
-
        pm_runtime_set_autosuspend_delay(&pci->dev, ACP_SUSPEND_DELAY_MS);
        pm_runtime_use_autosuspend(&pci->dev);
        pm_runtime_put_noidle(&pci->dev);