Re: [PATCH] staging: qlge: Remove pci-dma-compat wrapper APIs.

From: Benjamin Poirier
Date: Mon Jul 13 2020 - 01:00:11 EST


On 2020-07-11 18:16 +0530, Suraj Upadhyay wrote:
> The legacy API wrappers in include/linux/pci-dma-compat.h
> should go away as it creates unnecessary midlayering
> for include/linux/dma-mapping.h APIs, instead use dma-mapping.h
> APIs directly.
>
> The patch has been generated with the coccinelle script below
> and compile-tested.
>
[...]
>
> @@ expression E1, E2, E3, E4; @@
> - pci_dma_sync_single_for_device(E1, E2, E3, E4)
> + dma_sync_single_for_device(&E1->dev, E2, E3, (enum dma_data_direction)E4)

The qlge driver contains more usages of the deprecated pci_dma_* api
than what this diff addresses. In particular, there are some calls to
pci_dma_sync_single_for_cpu() which were not changed despite this
expression being in the semantic patch.

Dunno what happened but it should be reviewed. After converting away
from all of the old api, the TODO file should also be updated.

[...]

>
> diff --git a/drivers/staging/qlge/qlge_mpi.c b/drivers/staging/qlge/qlge_mpi.c
> index fa178fc642a6..16a9bf818346 100644
> --- a/drivers/staging/qlge/qlge_mpi.c
> +++ b/drivers/staging/qlge/qlge_mpi.c
> @@ -788,8 +788,9 @@ int ql_dump_risc_ram_area(struct ql_adapter *qdev, void *buf,
> char *my_buf;
> dma_addr_t buf_dma;
>
> - my_buf = pci_alloc_consistent(qdev->pdev, word_count * sizeof(u32),
> - &buf_dma);
> + my_buf = dma_alloc_coherent(&qdev->pdev->dev,
> + word_count * sizeof(u32), &buf_dma,
> + GFP_ATOMIC);
> if (!my_buf)
> return -EIO;
>
> @@ -797,8 +798,8 @@ int ql_dump_risc_ram_area(struct ql_adapter *qdev, void *buf,
> if (!status)
> memcpy(buf, my_buf, word_count * sizeof(u32));
>
> - pci_free_consistent(qdev->pdev, word_count * sizeof(u32), my_buf,
> - buf_dma);
> + dma_free_coherent(&qdev->pdev->dev, word_count * sizeof(u32), my_buf,
> + buf_dma);
> return status;
> }
>
> --
> 2.17.1
>


Attachment: signature.asc
Description: PGP signature