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 >