2021-09-25 14:15:01

by Cai,Huoqing

[permalink] [raw]
Subject: [PATCH] PCI: Remove the unused pci wrappers

The wrappers in include/linux/pci-dma-compat.h should go away,
so remove the unused pci wrappers.
Prefer using dma_xxx() instead of the pci wrappers pci_xxx().

Signed-off-by: Cai Huoqing <[email protected]>
---
include/linux/pci-dma-compat.h | 27 ---------------------------
1 file changed, 27 deletions(-)

diff --git a/include/linux/pci-dma-compat.h b/include/linux/pci-dma-compat.h
index 249d4d7fbf18..33b316f38e1d 100644
--- a/include/linux/pci-dma-compat.h
+++ b/include/linux/pci-dma-compat.h
@@ -20,13 +20,6 @@ pci_alloc_consistent(struct pci_dev *hwdev, size_t size,
return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC);
}

-static inline void *
-pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
- dma_addr_t *dma_handle)
-{
- return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC);
-}
-
static inline void
pci_free_consistent(struct pci_dev *hwdev, size_t size,
void *vaddr, dma_addr_t dma_handle)
@@ -89,26 +82,6 @@ pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle,
dma_sync_single_for_device(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction);
}

-static inline void
-pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev, struct scatterlist *sg,
- int nelems, int direction)
-{
- dma_sync_sg_for_cpu(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
-}
-
-static inline void
-pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sg,
- int nelems, int direction)
-{
- dma_sync_sg_for_device(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
-}
-
-static inline int
-pci_dma_mapping_error(struct pci_dev *pdev, dma_addr_t dma_addr)
-{
- return dma_mapping_error(&pdev->dev, dma_addr);
-}
-
#ifdef CONFIG_PCI
static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
{
--
2.25.1


2021-09-25 15:15:27

by Christophe JAILLET

[permalink] [raw]
Subject: Re: [PATCH] PCI: Remove the unused pci wrappers

Le 25/09/2021 à 15:52, Cai Huoqing a écrit :
> The wrappers in include/linux/pci-dma-compat.h should go away,
> so remove the unused pci wrappers.
> Prefer using dma_xxx() instead of the pci wrappers pci_xxx().
>
> Signed-off-by: Cai Huoqing <[email protected]>
> ---
> include/linux/pci-dma-compat.h | 27 ---------------------------
> 1 file changed, 27 deletions(-)
>
> diff --git a/include/linux/pci-dma-compat.h b/include/linux/pci-dma-compat.h
> index 249d4d7fbf18..33b316f38e1d 100644
> --- a/include/linux/pci-dma-compat.h
> +++ b/include/linux/pci-dma-compat.h
> @@ -20,13 +20,6 @@ pci_alloc_consistent(struct pci_dev *hwdev, size_t size,
> return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC);
> }
>
> -static inline void *
> -pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
> - dma_addr_t *dma_handle)
> -{
> - return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC);
> -}
> -
> static inline void
> pci_free_consistent(struct pci_dev *hwdev, size_t size,
> void *vaddr, dma_addr_t dma_handle)
> @@ -89,26 +82,6 @@ pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle,
> dma_sync_single_for_device(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction);
> }
>
> -static inline void
> -pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev, struct scatterlist *sg,
> - int nelems, int direction)
> -{
> - dma_sync_sg_for_cpu(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sg,
> - int nelems, int direction)
> -{
> - dma_sync_sg_for_device(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
> -}
> -
> -static inline int
> -pci_dma_mapping_error(struct pci_dev *pdev, dma_addr_t dma_addr)
> -{
> - return dma_mapping_error(&pdev->dev, dma_addr);
> -}
> -
> #ifdef CONFIG_PCI
> static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
> {
>

Hi,

I'm not sure that this step is needed.
The whole pci-dma-compat.h is close to be obsolete. So axing just a part
of it now is not that really useful.

After many patches, there is now just a few users of this deprecated
API. All steps to finalize the job have already been posted [1] and a
plan has been proposed by Arnd Bergmann to have the remaining ones
merged in the tree [2].

Some of the message/fusion patches have been re-sent yesterday and today
to the scsi maintainer in order to have them merged.

BTW, Cai Huoqing, thanks a lot for taking care and proposing the needed
clean-ups in comments and log messages.
Looking at it was the next item of my to-do list, but I'm really pleased
to get some help here to finalize the job once and for all.

CJ

[1]:
https://lore.kernel.org/kernel-janitors/[email protected]/

[2]:
https://lore.kernel.org/kernel-janitors/CAK8P3a2CBvw_GP372R+p8f4_pa82sMuQ5iHk4Nb2dJCzm_Fivw@mail.gmail.com/

2021-09-26 02:46:34

by Cai,Huoqing

[permalink] [raw]
Subject: Re: [PATCH] PCI: Remove the unused pci wrappers

On 25 9月 21 17:14:05, Christophe JAILLET wrote:
> Le 25/09/2021 à 15:52, Cai Huoqing a écrit :
> > The wrappers in include/linux/pci-dma-compat.h should go away,
> > so remove the unused pci wrappers.
> > Prefer using dma_xxx() instead of the pci wrappers pci_xxx().
> >
> > Signed-off-by: Cai Huoqing <[email protected]>
> > ---
> > include/linux/pci-dma-compat.h | 27 ---------------------------
> > 1 file changed, 27 deletions(-)
> >
> > diff --git a/include/linux/pci-dma-compat.h b/include/linux/pci-dma-compat.h
> > index 249d4d7fbf18..33b316f38e1d 100644
> > --- a/include/linux/pci-dma-compat.h
> > +++ b/include/linux/pci-dma-compat.h
> > @@ -20,13 +20,6 @@ pci_alloc_consistent(struct pci_dev *hwdev, size_t size,
> > return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC);
> > }
> > -static inline void *
> > -pci_zalloc_consistent(struct pci_dev *hwdev, size_t size,
> > - dma_addr_t *dma_handle)
> > -{
> > - return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC);
> > -}
> > -
> > static inline void
> > pci_free_consistent(struct pci_dev *hwdev, size_t size,
> > void *vaddr, dma_addr_t dma_handle)
> > @@ -89,26 +82,6 @@ pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle,
> > dma_sync_single_for_device(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction);
> > }
> > -static inline void
> > -pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev, struct scatterlist *sg,
> > - int nelems, int direction)
> > -{
> > - dma_sync_sg_for_cpu(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
> > -}
> > -
> > -static inline void
> > -pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sg,
> > - int nelems, int direction)
> > -{
> > - dma_sync_sg_for_device(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction);
> > -}
> > -
> > -static inline int
> > -pci_dma_mapping_error(struct pci_dev *pdev, dma_addr_t dma_addr)
> > -{
> > - return dma_mapping_error(&pdev->dev, dma_addr);
> > -}
> > -
> > #ifdef CONFIG_PCI
> > static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
> > {
> >
>
> Hi,
>
> I'm not sure that this step is needed.
> The whole pci-dma-compat.h is close to be obsolete. So axing just a part of
> it now is not that really useful.
Thanks for your feedback.

If someone reuse these wrappers, that will not be checked by checkpatch.pl.
And I also will not add check condition to checkpatch.pl, because the wrappers
in include/linux/pci-dma-compat.h will go away soon.

Removing these API helps driver owner to avoid reusing these obsolete wrappers
without reviwing it manually, only works before pci-dma-compat.h is droped.

Thanks
Cai

>
> After many patches, there is now just a few users of this deprecated API.
> All steps to finalize the job have already been posted [1] and a plan has
> been proposed by Arnd Bergmann to have the remaining ones merged in the tree
> [2]
it maybe cost serval weeks before all subtrees merge to linux-next.
>
> Some of the message/fusion patches have been re-sent yesterday and today to
> the scsi maintainer in order to have them merged.
>
> BTW, Cai Huoqing, thanks a lot for taking care and proposing the needed
> clean-ups in comments and log messages.
> Looking at it was the next item of my to-do list, but I'm really pleased to
> get some help here to finalize the job once and for all.
>
> CJ
>
> [1]: https://lore.kernel.org/kernel-janitors/[email protected]/
>
> [2]: https://lore.kernel.org/kernel-janitors/CAK8P3a2CBvw_GP372R+p8f4_pa82sMuQ5iHk4Nb2dJCzm_Fivw@mail.gmail.com/
>