Since commit 7968778914 (PCI: Remove the deprecated "pci-dma-compat.h" API)
in 5.18, pci_set_dma_mask() and pci_set_consistent_dma_mask() no longer exist
switch those api to dma_set_mask_and_coherent.
---
 linux/igb_uio/igb_uio.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/linux/igb_uio/igb_uio.c b/linux/igb_uio/igb_uio.c
index 33e0e02..3672314 100644
--- a/linux/igb_uio/igb_uio.c
+++ b/linux/igb_uio/igb_uio.c
@@ -512,13 +512,21 @@ igbuio_pci_probe(struct pci_dev *dev, const struct 
pci_device_id *id)
                goto fail_release_iomem;
 
        /* set 64-bit DMA mask */
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
        err = pci_set_dma_mask(dev,  DMA_BIT_MASK(64));
+#else
+       err = dma_set_mask_and_coherent(&dev->dev, DMA_BIT_MASK(64));
+#endif
        if (err != 0) {
                dev_err(&dev->dev, "Cannot set DMA mask\n");
                goto fail_release_iomem;
        }
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
        err = pci_set_consistent_dma_mask(dev, DMA_BIT_MASK(64));
+#else
+       err = dma_set_mask_and_coherent(&dev->dev, DMA_BIT_MASK(64));
+#endif
        if (err != 0) {
                dev_err(&dev->dev, "Cannot set consistent DMA mask\n");
                goto fail_release_iomem;
-- 
2.27.0

Reply via email to