linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
@ 2022-03-09 19:50 Christophe JAILLET
  2022-03-09 22:10 ` Arnd Bergmann
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Christophe JAILLET @ 2022-03-09 19:50 UTC (permalink / raw)
  To: bhelgaas, arnd, hch, akpm
  Cc: linux-pci, linux-kernel, kernel-janitors, Christophe JAILLET

Now that all usages of the functions defined in "pci-dma-compat.h" have
been removed, it is time to remove this file as well.

In order not to break builds, move the "#include <linux/dma-mapping.h>"
that was in "pci-dma-compat.h" into "include/linux/pci.h"

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
---
 include/linux/pci-dma-compat.h | 129 ---------------------------------
 include/linux/pci.h            |   3 +-
 2 files changed, 1 insertion(+), 131 deletions(-)
 delete mode 100644 include/linux/pci-dma-compat.h

diff --git a/include/linux/pci-dma-compat.h b/include/linux/pci-dma-compat.h
deleted file mode 100644
index 249d4d7fbf18..000000000000
--- a/include/linux/pci-dma-compat.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-/* include this file if the platform implements the dma_ DMA Mapping API
- * and wants to provide the pci_ DMA Mapping API in terms of it */
-
-#ifndef _ASM_GENERIC_PCI_DMA_COMPAT_H
-#define _ASM_GENERIC_PCI_DMA_COMPAT_H
-
-#include <linux/dma-mapping.h>
-
-/* This defines the direction arg to the DMA mapping routines. */
-#define PCI_DMA_BIDIRECTIONAL	DMA_BIDIRECTIONAL
-#define PCI_DMA_TODEVICE	DMA_TO_DEVICE
-#define PCI_DMA_FROMDEVICE	DMA_FROM_DEVICE
-#define PCI_DMA_NONE		DMA_NONE
-
-static inline void *
-pci_alloc_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_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)
-{
-	dma_free_coherent(&hwdev->dev, size, vaddr, dma_handle);
-}
-
-static inline dma_addr_t
-pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction)
-{
-	return dma_map_single(&hwdev->dev, ptr, size, (enum dma_data_direction)direction);
-}
-
-static inline void
-pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr,
-		 size_t size, int direction)
-{
-	dma_unmap_single(&hwdev->dev, dma_addr, size, (enum dma_data_direction)direction);
-}
-
-static inline dma_addr_t
-pci_map_page(struct pci_dev *hwdev, struct page *page,
-	     unsigned long offset, size_t size, int direction)
-{
-	return dma_map_page(&hwdev->dev, page, offset, size, (enum dma_data_direction)direction);
-}
-
-static inline void
-pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address,
-	       size_t size, int direction)
-{
-	dma_unmap_page(&hwdev->dev, dma_address, size, (enum dma_data_direction)direction);
-}
-
-static inline int
-pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg,
-	   int nents, int direction)
-{
-	return dma_map_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction);
-}
-
-static inline void
-pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg,
-	     int nents, int direction)
-{
-	dma_unmap_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction);
-}
-
-static inline void
-pci_dma_sync_single_for_cpu(struct pci_dev *hwdev, dma_addr_t dma_handle,
-		    size_t size, int direction)
-{
-	dma_sync_single_for_cpu(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction);
-}
-
-static inline void
-pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle,
-		    size_t size, int direction)
-{
-	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)
-{
-	return dma_set_mask(&dev->dev, mask);
-}
-
-static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
-{
-	return dma_set_coherent_mask(&dev->dev, mask);
-}
-#else
-static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
-{ return -EIO; }
-static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
-{ return -EIO; }
-#endif
-
-#endif
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 60d423d8f0c4..7f924b5edd1d 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -2472,8 +2472,7 @@ static inline bool pci_is_thunderbolt_attached(struct pci_dev *pdev)
 void pci_uevent_ers(struct pci_dev *pdev, enum  pci_ers_result err_type);
 #endif
 
-/* Provide the legacy pci_dma_* API */
-#include <linux/pci-dma-compat.h>
+#include <linux/dma-mapping.h>
 
 #define pci_printk(level, pdev, fmt, arg...) \
 	dev_printk(level, &(pdev)->dev, fmt, ##arg)
-- 
2.32.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
  2022-03-09 19:50 [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API Christophe JAILLET
@ 2022-03-09 22:10 ` Arnd Bergmann
  2022-03-10  6:28 ` Christoph Hellwig
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 8+ messages in thread
From: Arnd Bergmann @ 2022-03-09 22:10 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: Bjorn Helgaas, Arnd Bergmann, Christoph Hellwig, Andrew Morton,
	linux-pci, Linux Kernel Mailing List, kernel-janitors

On Wed, Mar 9, 2022 at 8:50 PM Christophe JAILLET
<christophe.jaillet@wanadoo.fr> wrote:
>
> Now that all usages of the functions defined in "pci-dma-compat.h" have
> been removed, it is time to remove this file as well.
>
> In order not to break builds, move the "#include <linux/dma-mapping.h>"
> that was in "pci-dma-compat.h" into "include/linux/pci.h"
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Thanks a lot for following through with this!

Acked-by: Arnd Bergmann <arnd@arndb.de>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
  2022-03-09 19:50 [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API Christophe JAILLET
  2022-03-09 22:10 ` Arnd Bergmann
@ 2022-03-10  6:28 ` Christoph Hellwig
  2022-03-10 17:04 ` Bjorn Helgaas
  2022-03-29 19:01 ` Bjorn Helgaas
  3 siblings, 0 replies; 8+ messages in thread
From: Christoph Hellwig @ 2022-03-10  6:28 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: bhelgaas, arnd, hch, akpm, linux-pci, linux-kernel, kernel-janitors

Thanks.  Given that it depends on a few different trees I plan to send
this to Linus after -rc1.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
  2022-03-09 19:50 [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API Christophe JAILLET
  2022-03-09 22:10 ` Arnd Bergmann
  2022-03-10  6:28 ` Christoph Hellwig
@ 2022-03-10 17:04 ` Bjorn Helgaas
  2022-03-10 17:30   ` Bjorn Helgaas
  2022-03-29 19:01 ` Bjorn Helgaas
  3 siblings, 1 reply; 8+ messages in thread
From: Bjorn Helgaas @ 2022-03-10 17:04 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: bhelgaas, arnd, hch, akpm, linux-pci, linux-kernel, kernel-janitors

On Wed, Mar 09, 2022 at 08:50:39PM +0100, Christophe JAILLET wrote:
> Now that all usages of the functions defined in "pci-dma-compat.h" have
> been removed, it is time to remove this file as well.

As of 1db333d9a51f ("Merge tag 'spi-fix-v5.17-rc7' of
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi"), all the
following still appear to be used:

  git grep -E "\<PCI_DMA_(BIDIRECTIONAL|TODEVICE|FROMDEVICE|NONE)"
  git grep -E "pci_(alloc|zalloc|free)_consistent"
  git grep -E "pci_(map|unmap)_single"
  git grep -E "\<pci_(map|unmap)_page"
  git grep -E "pci_(map|unmap)_sg"
  git grep -E "pci_dma_sync_"
  git grep pci_dma_mapping_error
  git grep -E "pci_set_.*dma_mask"

> In order not to break builds, move the "#include <linux/dma-mapping.h>"
> that was in "pci-dma-compat.h" into "include/linux/pci.h"
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
>
> ---
>  include/linux/pci-dma-compat.h | 129 ---------------------------------
>  include/linux/pci.h            |   3 +-
>  2 files changed, 1 insertion(+), 131 deletions(-)
>  delete mode 100644 include/linux/pci-dma-compat.h
> 
> diff --git a/include/linux/pci-dma-compat.h b/include/linux/pci-dma-compat.h
> deleted file mode 100644
> index 249d4d7fbf18..000000000000
> --- a/include/linux/pci-dma-compat.h
> +++ /dev/null
> @@ -1,129 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/* include this file if the platform implements the dma_ DMA Mapping API
> - * and wants to provide the pci_ DMA Mapping API in terms of it */
> -
> -#ifndef _ASM_GENERIC_PCI_DMA_COMPAT_H
> -#define _ASM_GENERIC_PCI_DMA_COMPAT_H
> -
> -#include <linux/dma-mapping.h>
> -
> -/* This defines the direction arg to the DMA mapping routines. */
> -#define PCI_DMA_BIDIRECTIONAL	DMA_BIDIRECTIONAL
> -#define PCI_DMA_TODEVICE	DMA_TO_DEVICE
> -#define PCI_DMA_FROMDEVICE	DMA_FROM_DEVICE
> -#define PCI_DMA_NONE		DMA_NONE
> -
> -static inline void *
> -pci_alloc_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_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)
> -{
> -	dma_free_coherent(&hwdev->dev, size, vaddr, dma_handle);
> -}
> -
> -static inline dma_addr_t
> -pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction)
> -{
> -	return dma_map_single(&hwdev->dev, ptr, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr,
> -		 size_t size, int direction)
> -{
> -	dma_unmap_single(&hwdev->dev, dma_addr, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline dma_addr_t
> -pci_map_page(struct pci_dev *hwdev, struct page *page,
> -	     unsigned long offset, size_t size, int direction)
> -{
> -	return dma_map_page(&hwdev->dev, page, offset, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address,
> -	       size_t size, int direction)
> -{
> -	dma_unmap_page(&hwdev->dev, dma_address, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline int
> -pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg,
> -	   int nents, int direction)
> -{
> -	return dma_map_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg,
> -	     int nents, int direction)
> -{
> -	dma_unmap_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_dma_sync_single_for_cpu(struct pci_dev *hwdev, dma_addr_t dma_handle,
> -		    size_t size, int direction)
> -{
> -	dma_sync_single_for_cpu(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle,
> -		    size_t size, int direction)
> -{
> -	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)
> -{
> -	return dma_set_mask(&dev->dev, mask);
> -}
> -
> -static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
> -{
> -	return dma_set_coherent_mask(&dev->dev, mask);
> -}
> -#else
> -static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
> -{ return -EIO; }
> -static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
> -{ return -EIO; }
> -#endif
> -
> -#endif
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 60d423d8f0c4..7f924b5edd1d 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -2472,8 +2472,7 @@ static inline bool pci_is_thunderbolt_attached(struct pci_dev *pdev)
>  void pci_uevent_ers(struct pci_dev *pdev, enum  pci_ers_result err_type);
>  #endif
>  
> -/* Provide the legacy pci_dma_* API */
> -#include <linux/pci-dma-compat.h>
> +#include <linux/dma-mapping.h>
>  
>  #define pci_printk(level, pdev, fmt, arg...) \
>  	dev_printk(level, &(pdev)->dev, fmt, ##arg)
> -- 
> 2.32.0
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
  2022-03-10 17:04 ` Bjorn Helgaas
@ 2022-03-10 17:30   ` Bjorn Helgaas
  2022-03-29 18:18     ` Christoph Hellwig
  0 siblings, 1 reply; 8+ messages in thread
From: Bjorn Helgaas @ 2022-03-10 17:30 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: bhelgaas, arnd, hch, akpm, linux-pci, linux-kernel, kernel-janitors

On Thu, Mar 10, 2022 at 11:04:45AM -0600, Bjorn Helgaas wrote:
> On Wed, Mar 09, 2022 at 08:50:39PM +0100, Christophe JAILLET wrote:
> > Now that all usages of the functions defined in "pci-dma-compat.h" have
> > been removed, it is time to remove this file as well.
> 
> As of 1db333d9a51f ("Merge tag 'spi-fix-v5.17-rc7' of
> git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi"), all the
> following still appear to be used:
> 
>   git grep -E "\<PCI_DMA_(BIDIRECTIONAL|TODEVICE|FROMDEVICE|NONE)"
>   git grep -E "pci_(alloc|zalloc|free)_consistent"
>   git grep -E "pci_(map|unmap)_single"
>   git grep -E "\<pci_(map|unmap)_page"
>   git grep -E "pci_(map|unmap)_sg"
>   git grep -E "pci_dma_sync_"
>   git grep pci_dma_mapping_error
>   git grep -E "pci_set_.*dma_mask"

Christoph mentioned several other trees that this depends on, and
those would likely be in linux-next, but not yet in Linus' tree.  The
above poking around is from the tip of Linus' tree, which was the
wrong place for me to look.

But I did the same in current linux-next, 71941773e143 ("Add
linux-next specific files for 20220310"), and still found quite a few
uses.  Some are in comments, printks, coccinelle scripts, etc.  I
would assume we'd want to remove them all?

Bjorn

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
  2022-03-10 17:30   ` Bjorn Helgaas
@ 2022-03-29 18:18     ` Christoph Hellwig
  2022-03-29 19:00       ` Bjorn Helgaas
  0 siblings, 1 reply; 8+ messages in thread
From: Christoph Hellwig @ 2022-03-29 18:18 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Christophe JAILLET, bhelgaas, arnd, hch, akpm, linux-pci,
	linux-kernel, kernel-janitors

On Thu, Mar 10, 2022 at 11:30:22AM -0600, Bjorn Helgaas wrote:
> Christoph mentioned several other trees that this depends on, and
> those would likely be in linux-next, but not yet in Linus' tree.  The
> above poking around is from the tip of Linus' tree, which was the
> wrong place for me to look.
> 
> But I did the same in current linux-next, 71941773e143 ("Add
> linux-next specific files for 20220310"), and still found quite a few
> uses.  Some are in comments, printks, coccinelle scripts, etc.  I
> would assume we'd want to remove them all?

I'm not sure there is much of a point to clean up the historic
comments, but it would be a nice cleanup.  I'd very much like to
queue up this patch now that all the actual symbol references
are gone now.  Are you ok with that?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
  2022-03-29 18:18     ` Christoph Hellwig
@ 2022-03-29 19:00       ` Bjorn Helgaas
  0 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2022-03-29 19:00 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: Christophe JAILLET, bhelgaas, arnd, akpm, linux-pci,
	linux-kernel, kernel-janitors

On Tue, Mar 29, 2022 at 11:18:03AM -0700, Christoph Hellwig wrote:
> On Thu, Mar 10, 2022 at 11:30:22AM -0600, Bjorn Helgaas wrote:
> > Christoph mentioned several other trees that this depends on, and
> > those would likely be in linux-next, but not yet in Linus' tree.  The
> > above poking around is from the tip of Linus' tree, which was the
> > wrong place for me to look.
> > 
> > But I did the same in current linux-next, 71941773e143 ("Add
> > linux-next specific files for 20220310"), and still found quite a few
> > uses.  Some are in comments, printks, coccinelle scripts, etc.  I
> > would assume we'd want to remove them all?
> 
> I'm not sure there is much of a point to clean up the historic
> comments, but it would be a nice cleanup.  I'd very much like to
> queue up this patch now that all the actual symbol references
> are gone now.  Are you ok with that?

Yep, I'm OK with that.  I *would* like to see at least
Documentation/PCI/pci.rst updated soonish (it still refers to
pci_set_dma_mask() and friends).

Bjorn

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API
  2022-03-09 19:50 [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API Christophe JAILLET
                   ` (2 preceding siblings ...)
  2022-03-10 17:04 ` Bjorn Helgaas
@ 2022-03-29 19:01 ` Bjorn Helgaas
  3 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2022-03-29 19:01 UTC (permalink / raw)
  To: Christophe JAILLET
  Cc: bhelgaas, arnd, hch, akpm, linux-pci, linux-kernel, kernel-janitors

On Wed, Mar 09, 2022 at 08:50:39PM +0100, Christophe JAILLET wrote:
> Now that all usages of the functions defined in "pci-dma-compat.h" have
> been removed, it is time to remove this file as well.
> 
> In order not to break builds, move the "#include <linux/dma-mapping.h>"
> that was in "pci-dma-compat.h" into "include/linux/pci.h"
> 
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

Acked-by: Bjorn Helgaas <bhelgaas@google.com>

Please also update the Documentation/PCI/pci.rst references to
pci_set_dma_mask() and friends.

> ---
>  include/linux/pci-dma-compat.h | 129 ---------------------------------
>  include/linux/pci.h            |   3 +-
>  2 files changed, 1 insertion(+), 131 deletions(-)
>  delete mode 100644 include/linux/pci-dma-compat.h
> 
> diff --git a/include/linux/pci-dma-compat.h b/include/linux/pci-dma-compat.h
> deleted file mode 100644
> index 249d4d7fbf18..000000000000
> --- a/include/linux/pci-dma-compat.h
> +++ /dev/null
> @@ -1,129 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/* include this file if the platform implements the dma_ DMA Mapping API
> - * and wants to provide the pci_ DMA Mapping API in terms of it */
> -
> -#ifndef _ASM_GENERIC_PCI_DMA_COMPAT_H
> -#define _ASM_GENERIC_PCI_DMA_COMPAT_H
> -
> -#include <linux/dma-mapping.h>
> -
> -/* This defines the direction arg to the DMA mapping routines. */
> -#define PCI_DMA_BIDIRECTIONAL	DMA_BIDIRECTIONAL
> -#define PCI_DMA_TODEVICE	DMA_TO_DEVICE
> -#define PCI_DMA_FROMDEVICE	DMA_FROM_DEVICE
> -#define PCI_DMA_NONE		DMA_NONE
> -
> -static inline void *
> -pci_alloc_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_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)
> -{
> -	dma_free_coherent(&hwdev->dev, size, vaddr, dma_handle);
> -}
> -
> -static inline dma_addr_t
> -pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction)
> -{
> -	return dma_map_single(&hwdev->dev, ptr, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr,
> -		 size_t size, int direction)
> -{
> -	dma_unmap_single(&hwdev->dev, dma_addr, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline dma_addr_t
> -pci_map_page(struct pci_dev *hwdev, struct page *page,
> -	     unsigned long offset, size_t size, int direction)
> -{
> -	return dma_map_page(&hwdev->dev, page, offset, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address,
> -	       size_t size, int direction)
> -{
> -	dma_unmap_page(&hwdev->dev, dma_address, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline int
> -pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg,
> -	   int nents, int direction)
> -{
> -	return dma_map_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg,
> -	     int nents, int direction)
> -{
> -	dma_unmap_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_dma_sync_single_for_cpu(struct pci_dev *hwdev, dma_addr_t dma_handle,
> -		    size_t size, int direction)
> -{
> -	dma_sync_single_for_cpu(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction);
> -}
> -
> -static inline void
> -pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle,
> -		    size_t size, int direction)
> -{
> -	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)
> -{
> -	return dma_set_mask(&dev->dev, mask);
> -}
> -
> -static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
> -{
> -	return dma_set_coherent_mask(&dev->dev, mask);
> -}
> -#else
> -static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask)
> -{ return -EIO; }
> -static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask)
> -{ return -EIO; }
> -#endif
> -
> -#endif
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 60d423d8f0c4..7f924b5edd1d 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -2472,8 +2472,7 @@ static inline bool pci_is_thunderbolt_attached(struct pci_dev *pdev)
>  void pci_uevent_ers(struct pci_dev *pdev, enum  pci_ers_result err_type);
>  #endif
>  
> -/* Provide the legacy pci_dma_* API */
> -#include <linux/pci-dma-compat.h>
> +#include <linux/dma-mapping.h>
>  
>  #define pci_printk(level, pdev, fmt, arg...) \
>  	dev_printk(level, &(pdev)->dev, fmt, ##arg)
> -- 
> 2.32.0
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-03-29 19:01 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-09 19:50 [PATCH] PCI: Remove the deprecated "pci-dma-compat.h" API Christophe JAILLET
2022-03-09 22:10 ` Arnd Bergmann
2022-03-10  6:28 ` Christoph Hellwig
2022-03-10 17:04 ` Bjorn Helgaas
2022-03-10 17:30   ` Bjorn Helgaas
2022-03-29 18:18     ` Christoph Hellwig
2022-03-29 19:00       ` Bjorn Helgaas
2022-03-29 19:01 ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).