* In case the wake up interrupt is not passed from the platform
         * so the driver will continue to use the mac irq (ndev->irq)
         */
-       stmmac_res->wol_irq = platform_get_irq_byname(pdev, "eth_wake_irq");
+       stmmac_res->wol_irq =
+               platform_get_irq_byname_optional(pdev, "eth_wake_irq");
        if (stmmac_res->wol_irq < 0) {
                if (stmmac_res->wol_irq == -EPROBE_DEFER)
                        return -EPROBE_DEFER;
+               dev_info(&pdev->dev, "IRQ eth_wake_irq not found\n");
                stmmac_res->wol_irq = stmmac_res->irq;
        }
 
-       stmmac_res->lpi_irq = platform_get_irq_byname(pdev, "eth_lpi");
-       if (stmmac_res->lpi_irq == -EPROBE_DEFER)
-               return -EPROBE_DEFER;
+       stmmac_res->lpi_irq =
+               platform_get_irq_byname_optional(pdev, "eth_lpi");
+       if (stmmac_res->lpi_irq < 0) {
+               if (stmmac_res->lpi_irq == -EPROBE_DEFER)
+                       return -EPROBE_DEFER;
+               dev_info(&pdev->dev, "IRQ eth_lpi not found\n");
+       }
 
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        stmmac_res->addr = devm_ioremap_resource(&pdev->dev, res);