Messages in this thread | | | Date | Mon, 12 Feb 2007 13:06:04 -0800 | From | "Luck, Tony" <> | Subject | Re: [PATCH] ia64: Fix noncoherent DMA API so devres builds |
| |
On Sun, Feb 11, 2007 at 09:30:21PM -0800, Roland Dreier wrote: > This patch fixes this by converting dma_{alloc,free}_noncoherent() > into inline functions that call the corresponding coherent functions, > instead of trying to do this with macros. > > Signed-off-by: Roland Dreier <rolandd@cisco.com>
Only the "generic" configs were bust, but this patch does the trick and everything builds and boots again.
Thanks
Acked-by: Tony Luck <tony.luck@intel.com>
> --- > include/asm-ia64/dma-mapping.h | 15 +++++++++++++-- > 1 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/include/asm-ia64/dma-mapping.h b/include/asm-ia64/dma-mapping.h > index ebd5887..6299b51 100644 > --- a/include/asm-ia64/dma-mapping.h > +++ b/include/asm-ia64/dma-mapping.h > @@ -8,9 +8,20 @@ > #include <asm/machvec.h> > > #define dma_alloc_coherent platform_dma_alloc_coherent > -#define dma_alloc_noncoherent platform_dma_alloc_coherent /* coherent mem. is cheap */ > +/* coherent mem. is cheap */ > +static inline void * > +dma_alloc_noncoherent(struct device *dev, size_t size, dma_addr_t *dma_handle, > + gfp_t flag) > +{ > + return dma_alloc_coherent(dev, size, dma_handle, flag); > +} > #define dma_free_coherent platform_dma_free_coherent > -#define dma_free_noncoherent platform_dma_free_coherent > +static inline void > +dma_free_noncoherent(struct device *dev, size_t size, void *cpu_addr, > + dma_addr_t dma_handle) > +{ > + dma_free_coherent(dev, size, cpu_addr, dma_handle); > +} > #define dma_map_single platform_dma_map_single > #define dma_map_sg platform_dma_map_sg > #define dma_unmap_single platform_dma_unmap_single - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |