Commit 44ee7658 authored by Christophe JAILLET's avatar Christophe JAILLET Committed by David S. Miller
Browse files

net: wwan: iosm: switch from 'pci_' to 'dma_' API



The wrappers in include/linux/pci-dma-compat.h should go away.

The patch has been generated with the coccinelle script below and has been
hand modified to replace GFP_ with a correct flag.
It has been compile tested.

'ipc_protocol_init()' can use GFP_KERNEL, because this flag is already used
by a 'kzalloc()' call a few lines above.

'ipc_protocol_msg_prepipe_open()' must use GFP_ATOMIC, because this flag is
already used by a 'kcalloc()' call a few lines above.

@@ @@
-    PCI_DMA_BIDIRECTIONAL
+    DMA_BIDIRECTIONAL

@@ @@
-    PCI_DMA_TODEVICE
+    DMA_TO_DEVICE

@@ @@
-    PCI_DMA_FROMDEVICE
+    DMA_FROM_DEVICE

@@ @@
-    PCI_DMA_NONE
+    DMA_NONE

@@
expression e1, e2, e3;
@@
-    pci_alloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3;
@@
-    pci_zalloc_consistent(e1, e2, e3)
+    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)

@@
expression e1, e2, e3, e4;
@@
-    pci_free_consistent(e1, e2, e3, e4)
+    dma_free_coherent(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_single(e1, e2, e3, e4)
+    dma_map_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_single(e1, e2, e3, e4)
+    dma_unmap_single(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4, e5;
@@
-    pci_map_page(e1, e2, e3, e4, e5)
+    dma_map_page(&e1->dev, e2, e3, e4, e5)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_page(e1, e2, e3, e4)
+    dma_unmap_page(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_map_sg(e1, e2, e3, e4)
+    dma_map_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_unmap_sg(e1, e2, e3, e4)
+    dma_unmap_sg(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
+    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_single_for_device(e1, e2, e3, e4)
+    dma_sync_single_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
+    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)

@@
expression e1, e2, e3, e4;
@@
-    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
+    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)

@@
expression e1, e2;
@@
-    pci_dma_mapping_error(e1, e2)
+    dma_mapping_error(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_dma_mask(e1, e2)
+    dma_set_mask(&e1->dev, e2)

@@
expression e1, e2;
@@
-    pci_set_consistent_dma_mask(e1, e2)
+    dma_set_coherent_mask(&e1->dev, e2)

Signed-off-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b1165777
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -239,9 +239,9 @@ struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem)
	ipc_protocol->old_msg_tail = 0;

	ipc_protocol->p_ap_shm =
		pci_alloc_consistent(ipc_protocol->pcie->pci,
		dma_alloc_coherent(&ipc_protocol->pcie->pci->dev,
				   sizeof(*ipc_protocol->p_ap_shm),
				     &ipc_protocol->phy_ap_shm);
				   &ipc_protocol->phy_ap_shm, GFP_KERNEL);

	if (!ipc_protocol->p_ap_shm) {
		dev_err(ipc_protocol->dev, "pci shm alloc error");
@@ -275,7 +275,7 @@ struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem)

void ipc_protocol_deinit(struct iosm_protocol *proto)
{
	pci_free_consistent(proto->pcie->pci, sizeof(*proto->p_ap_shm),
	dma_free_coherent(&proto->pcie->pci->dev, sizeof(*proto->p_ap_shm),
			  proto->p_ap_shm, proto->phy_ap_shm);

	ipc_pm_deinit(proto);
+6 −7
Original line number Diff line number Diff line
@@ -74,9 +74,9 @@ static int ipc_protocol_msg_prepipe_open(struct iosm_protocol *ipc_protocol,
		return -ENOMEM;

	/* Allocate the transfer descriptors for the pipe. */
	tdr = pci_alloc_consistent(ipc_protocol->pcie->pci,
	tdr = dma_alloc_coherent(&ipc_protocol->pcie->pci->dev,
				 pipe->nr_of_entries * sizeof(*tdr),
				   &pipe->phy_tdr_start);
				 &pipe->phy_tdr_start, GFP_ATOMIC);
	if (!tdr) {
		kfree(skbr);
		dev_err(ipc_protocol->dev, "tdr alloc error");
@@ -492,9 +492,8 @@ void ipc_protocol_pipe_cleanup(struct iosm_protocol *ipc_protocol,

	/* Free and reset the td and skbuf circular buffers. kfree is save! */
	if (pipe->tdr_start) {
		pci_free_consistent(ipc_protocol->pcie->pci,
				    sizeof(*pipe->tdr_start) *
					    pipe->nr_of_entries,
		dma_free_coherent(&ipc_protocol->pcie->pci->dev,
				  sizeof(*pipe->tdr_start) * pipe->nr_of_entries,
				  pipe->tdr_start, pipe->phy_tdr_start);

		pipe->tdr_start = NULL;