1. 15 2月, 2007 1 次提交
    • R
      [PATCH] ia64: fix noncoherent DMA API so devres builds · b7de8e7e
      Roland Dreier 提交于
      On ia64, drivers/base/dma-mapping.c doesn't build because it calls
      dma_alloc_noncoherent() and dma_free_noncoherent(), which appear to be
      terminally broken; the calls end up generating errors like
      
          drivers/base/dma-mapping.c: In function 'dmam_noncoherent_release':
          drivers/base/dma-mapping.c:32: error: 'struct ia64_machine_vector' has no member named 'platform_dma_free_coherent'
      
      because the multiple levels of macro expansion in <asm/dma-mapping.h> and
      <asm/machvec.h> end up turning a call to dma_free_noncoherent() into
      ia64_mv.platform_dma_free_coherent (instead of the intended
      ia64_mv.dma_free_coherent).
      
      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: NRoland Dreier <rolandd@cisco.com>
      Acked-by: NTony Luck <tony.luck@intel.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b7de8e7e
  2. 14 2月, 2007 39 次提交