diff mbox series

PCI: Remove the deprecated "pci-dma-compat.h" API

Message ID 25d93797bd5a5bae5c7613ec42c01ecd7c69cd17.1646855282.git.christophe.jaillet@wanadoo.fr
State New
Headers show
Series PCI: Remove the deprecated "pci-dma-compat.h" API | expand

Commit Message

Christophe JAILLET March 9, 2022, 7:50 p.m. UTC
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

Comments

Arnd Bergmann March 9, 2022, 10:10 p.m. UTC | #1
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>
Christoph Hellwig March 10, 2022, 6:28 a.m. UTC | #2
Thanks.  Given that it depends on a few different trees I plan to send
this to Linus after -rc1.
Bjorn Helgaas March 10, 2022, 5:04 p.m. UTC | #3
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
>
Bjorn Helgaas March 10, 2022, 5:30 p.m. UTC | #4
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
Christoph Hellwig March 29, 2022, 6:18 p.m. UTC | #5
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?
Bjorn Helgaas March 29, 2022, 7 p.m. UTC | #6
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
Bjorn Helgaas March 29, 2022, 7:01 p.m. UTC | #7
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
>
diff mbox series

Patch

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)