[patch 2.6.14] ia64: re-implement dma_get_cache_alignment to avoid EXPORT_SYMBOL

From: John W. Linville (linville_at_tuxdriver.com)
Date: 11/05/05

  • Next message: Jeff Garzik: "[git patches] fix libata ATAPI DMA alignment"
    Date:	Fri, 4 Nov 2005 23:37:35 -0500
    To: Andrew Morton <akpm@osdl.org>, Christoph Hellwig <hch@infradead.org>, davej@redhat.com, linux-kernel@vger.kernel.org
    
    

    The current ia64 implementation of dma_get_cache_alignment does not
    work for modules because it relies on a symbol which is not exported.
    Direct access to a global is a little ugly anyway, so this patch
    re-implements dma_get_cache_alignment in a manner similar to what is
    currently used for x86_64.

    Signed-off-by: John W. Linville <linville@tuxdriver.com>

    ---
    This patch replaces the patch at the link below:
    	http://www.ussg.iu.edu/hypermail/linux/kernel/0509.1/1365.html
     arch/ia64/kernel/setup.c       |    7 +++++++
     include/asm-ia64/dma-mapping.h |    7 +------
     2 files changed, 8 insertions(+), 6 deletions(-)
    diff --git a/arch/ia64/kernel/setup.c b/arch/ia64/kernel/setup.c
    index fc56ca2..3af6de3 100644
    --- a/arch/ia64/kernel/setup.c
    +++ b/arch/ia64/kernel/setup.c
    @@ -92,6 +92,13 @@ extern void efi_initialize_iomem_resourc
     extern char _text[], _end[], _etext[];
     
     unsigned long ia64_max_cacheline_size;
    +
    +int dma_get_cache_alignment(void)
    +{
    +        return ia64_max_cacheline_size;
    +}
    +EXPORT_SYMBOL(dma_get_cache_alignment);
    +
     unsigned long ia64_iobase;	/* virtual address for I/O accesses */
     EXPORT_SYMBOL(ia64_iobase);
     struct io_space io_space[MAX_IO_SPACES];
    diff --git a/include/asm-ia64/dma-mapping.h b/include/asm-ia64/dma-mapping.h
    index 6347c98..df67d40 100644
    --- a/include/asm-ia64/dma-mapping.h
    +++ b/include/asm-ia64/dma-mapping.h
    @@ -48,12 +48,7 @@ dma_set_mask (struct device *dev, u64 ma
     	return 0;
     }
     
    -static inline int
    -dma_get_cache_alignment (void)
    -{
    -	extern int ia64_max_cacheline_size;
    -	return ia64_max_cacheline_size;
    -}
    +extern int dma_get_cache_alignment(void);
     
     static inline void
     dma_cache_sync (void *vaddr, size_t size, enum dma_data_direction dir)
    -- 
    John W. Linville
    linville@tuxdriver.com
    -
    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/
    

  • Next message: Jeff Garzik: "[git patches] fix libata ATAPI DMA alignment"

    Relevant Pages