Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fpga: dfl: pci: Remove usage of the deprecated "pci-dma-compat.h" API

In [1], Christoph Hellwig has proposed to remove the wrappers in
include/linux/pci-dma-compat.h.

Some reasons why this API should be removed have been given by Julia
Lawall in [2].

A coccinelle script has been used to perform the needed transformation.
It can be found in [3].

It has been hand modified to use 'dma_set_mask_and_coherent()' instead of
'pci_set_dma_mask()/pci_set_consistent_dma_mask()' when applicable.
This is less verbose.

The explicit 'ret = -EIO;' has been removed because
'dma_set_mask_and_coherent()' returns 0 or -EIO, so its return code can be
used directly.

[1]: https://lore.kernel.org/kernel-janitors/20200421081257.GA131897@infradead.org/
[2]: https://lore.kernel.org/kernel-janitors/alpine.DEB.2.22.394.2007120902170.2424@hadrien/
[3]: https://lore.kernel.org/kernel-janitors/20200716192821.321233-1-christophe.jaillet@wanadoo.fr/

Reviewed-by: Xu Yilun <yilun.xu@intel.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Moritz Fischer <mdf@kernel.org>

authored by

Christophe JAILLET and committed by
Moritz Fischer
21f0a239 e783362e

+5 -10
+5 -10
drivers/fpga/dfl-pci.c
··· 15 15 */ 16 16 17 17 #include <linux/pci.h> 18 + #include <linux/dma-mapping.h> 18 19 #include <linux/types.h> 19 20 #include <linux/kernel.h> 20 21 #include <linux/module.h> ··· 355 354 356 355 pci_set_master(pcidev); 357 356 358 - if (!pci_set_dma_mask(pcidev, DMA_BIT_MASK(64))) { 359 - ret = pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(64)); 360 - if (ret) 361 - goto disable_error_report_exit; 362 - } else if (!pci_set_dma_mask(pcidev, DMA_BIT_MASK(32))) { 363 - ret = pci_set_consistent_dma_mask(pcidev, DMA_BIT_MASK(32)); 364 - if (ret) 365 - goto disable_error_report_exit; 366 - } else { 367 - ret = -EIO; 357 + ret = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(64)); 358 + if (ret) 359 + ret = dma_set_mask_and_coherent(&pcidev->dev, DMA_BIT_MASK(32)); 360 + if (ret) { 368 361 dev_err(&pcidev->dev, "No suitable DMA support available.\n"); 369 362 goto disable_error_report_exit; 370 363 }