stmmac: intel: Convert to use pci_alloc_irq_vectors() API
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 30 Apr 2020 15:02:51 +0000 (18:02 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Apr 2020 19:50:15 +0000 (12:50 -0700)
pci_enable_msi() is deprecated API, thus, switch to modern
pci_alloc_irq_vectors().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c

index e9f9485594995978383d6b869c2c027e3e765590..bb8bf31c1259ef4f4e64aeb15078305c5339f24a 100644 (file)
@@ -649,15 +649,18 @@ static int intel_eth_pci_probe(struct pci_dev *pdev,
        if (ret)
                return ret;
 
-       pci_enable_msi(pdev);
+       ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
+       if (ret < 0)
+               return ret;
 
        memset(&res, 0, sizeof(res));
        res.addr = pcim_iomap_table(pdev)[0];
-       res.wol_irq = pdev->irq;
-       res.irq = pdev->irq;
+       res.wol_irq = pci_irq_vector(pdev, 0);
+       res.irq = pci_irq_vector(pdev, 0);
 
        ret = stmmac_dvr_probe(&pdev->dev, plat, &res);
        if (ret) {
+               pci_free_irq_vectors(pdev);
                clk_disable_unprepare(plat->stmmac_clk);
                clk_unregister_fixed_rate(plat->stmmac_clk);
        }
@@ -679,6 +682,8 @@ static void intel_eth_pci_remove(struct pci_dev *pdev)
 
        stmmac_dvr_remove(&pdev->dev);
 
+       pci_free_irq_vectors(pdev);
+
        clk_disable_unprepare(priv->plat->stmmac_clk);
        clk_unregister_fixed_rate(priv->plat->stmmac_clk);