[PATCH v3 26/40] Subject: ARM: mm: proc-feroceon: Use the new processor struct macros

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Jul 7 05:14:36 EDT 2011


On Thu, Jun 23, 2011 at 06:50:34PM +0100, Dave Martin wrote:
> -ENTRY(feroceon_cache_fns)
> -	.long	feroceon_flush_icache_all
> -	.long	feroceon_flush_kern_cache_all
> -	.long	feroceon_flush_user_cache_all
> -	.long	feroceon_flush_user_cache_range
> -	.long	feroceon_coherent_kern_range
> -	.long	feroceon_coherent_user_range
> -	.long	feroceon_flush_kern_dcache_area
> -	.long	feroceon_dma_map_area
> -	.long	feroceon_dma_unmap_area
> -	.long	feroceon_dma_flush_range
> -
> -ENTRY(feroceon_range_cache_fns)
> -	.long	feroceon_flush_icache_all
> -	.long	feroceon_flush_kern_cache_all
> -	.long	feroceon_flush_user_cache_all
> -	.long	feroceon_flush_user_cache_range
> -	.long	feroceon_coherent_kern_range
> -	.long	feroceon_coherent_user_range
> -	.long	feroceon_range_flush_kern_dcache_area
> -	.long	feroceon_range_dma_map_area
> -	.long	feroceon_dma_unmap_area
> -	.long	feroceon_range_dma_flush_range
> +	@ define struct cpu_cache_fns (see <asm/cacheflush.h> and proc-macros.S)
> +	define_cache_functions feroceon, default=feroceon
> +	define_cache_functions feroceon_range, default=feroceon, \
> +		flush_kern_dcache_area=feroceon_range_flush_kern_dcache_area, \
> +		dma_map_area=feroceon_range_dma_map_area, \
> +		dma_flush_range=feroceon_range_dma_flush_range

That's unique enough that it can be left as-is I think, rather than
having to add that special knowledge into the macro.

A solution to this would be to alias (using .equ) the feroceon_xxx
functions to feroceon_range_xxx, and then use the standard
define_cache_functions macro, which would be more in keeping with
the way these things are supposed to work.



More information about the linux-arm-kernel mailing list