Re: [PATCH -mm 7/7] pci: move pci_set_dma_mask andpci_set_consistent_dma_mask to pci-dma-compat.h

From: Jesse Barnes
Date: Wed Mar 03 2010 - 11:23:27 EST


On Wed, 3 Mar 2010 11:58:31 +0900
FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:

> On Tue, 2 Mar 2010 18:29:27 -0800
> Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > On Fri, 12 Feb 2010 18:33:32 +0900 FUJITA Tomonori
> > <fujita.tomonori@xxxxxxxxxxxxx> wrote:
> >
> > > We can use pci-dma-compat.h to implement pci_set_dma_mask and
> > > pci_set_consistent_dma_mask as we do with the other PCI DMA API.
> > >
> > > We can remove HAVE_ARCH_PCI_SET_DMA_MASK too.
> >
> > i386 allnoconfig:
>
> Sorry about that.
>
> > include/asm-generic/pci-dma-compat.h:105: error: redefinition of
> > 'pci_set_dma_mask' include/linux/pci.h:1092: error: previous
> > definition of 'pci_set_dma_mask' was here
> > include/asm-generic/pci-dma-compat.h:110: error: redefinition of
> > 'pci_set_consistent_dma_mask' include/linux/pci.h:1097: error:
> > previous definition of 'pci_set_consistent_dma_mask' was here
> >
> > In fact the whole of include/asm-generic/pci-dma-compat.h seems a
> > bit fishy when CONFIG_PCI=n. Shouldn't all those functions be
> > EIO-returning stubs?
>
> Might be (and it should work). However, when CONFIG_PCI=n, we has
> silently converted the PCI DMA API to the generic DMA API.
>
> In the long term, we remove the pci_dma_* API.
>
> Can you fold this into the above patch?
>
> diff --git a/include/asm-generic/pci-dma-compat.h
> b/include/asm-generic/pci-dma-compat.h index ddfa9c5..1437b7d 100644
> --- a/include/asm-generic/pci-dma-compat.h
> +++ b/include/asm-generic/pci-dma-compat.h
> @@ -101,6 +101,7 @@ 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);
> @@ -110,5 +111,6 @@ static inline int
> pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) {
> return dma_set_coherent_mask(&dev->dev, mask);
> }
> +#endif
>
> #endif

Oops, I missed these in my last round of applications because they
weren't in PCI patchwork; can you cc linux-pci@xxxxxxxxxxxxxxx in the
future so the patchwork bot picks them up?

Thanks,
--
Jesse Barnes, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/