[PATCH V2] x86/pci: sta2x11: fix a compiler warning

From: Alessandro Rubini
Date: Wed May 23 2012 - 17:29:10 EST


swiotlb_free_coherent(), exported by lib/swiotlb.b, cannot be used in
dma_ops, because it doesn't want the "attrs" argument. Add a wrapper,
like other users of the function already do.

Signed-off-by: Alessandro Rubini <rubini@xxxxxxxxx>
Acked-by: Giancarlo Asnaghi <giancarlo.asnaghi@xxxxxx>
---

[V2: same patch, message fixed (sorry, I made a mess in the editor)]

Actually, we may instead add "args" to the exported functions in
lib/swiotlb. This would then remove a few other similar wrappers that
do nothing. If it's considered useful, I can propose a patch for that.
arch/unicore32/mm/dma-swiotlb.c is especially interesting in this
respect, because it only has the two wrappers.

arch/x86/pci/sta2x11-fixup.c | 9 ++++++++-
1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/x86/pci/sta2x11-fixup.c b/arch/x86/pci/sta2x11-fixup.c
index e06334b..1ab70dc 100644
--- a/arch/x86/pci/sta2x11-fixup.c
+++ b/arch/x86/pci/sta2x11-fixup.c
@@ -181,10 +181,17 @@ static void *sta2x11_swiotlb_alloc_coherent(struct device *dev,
return vaddr;
}

+static void sta2x11_swiotlb_free_coherent(struct device *dev, size_t size,
+ void *vaddr, dma_addr_t dma_addr,
+ struct dma_attrs *attrs)
+{
+ swiotlb_free_coherent(dev, size, vaddr, dma_addr);
+}
+
/* We have our own dma_ops: the same as swiotlb but from alloc (above) */
static struct dma_map_ops sta2x11_dma_ops = {
.alloc = sta2x11_swiotlb_alloc_coherent,
- .free = swiotlb_free_coherent,
+ .free = sta2x11_swiotlb_free_coherent,
.map_page = swiotlb_map_page,
.unmap_page = swiotlb_unmap_page,
.map_sg = swiotlb_map_sg_attrs,
--
1.7.7.2
--
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/