[PATCH v3 26/40] Subject: ARM: mm: proc-feroceon: Use the new processor struct macros
Dave Martin
dave.martin at linaro.org
Thu Jul 7 06:14:06 EDT 2011
On Thu, Jul 07, 2011 at 10:14:36AM +0100, Russell King - ARM Linux wrote:
> 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.
Agreed. That sounds sensible.
I'll await your views on
[PATCH v3 01/40] Subject: ARM: mm: proc-macros Add generic
proc/cache/tlb struct definition macros
before addressing this, since the issues involved overlap.
Cheers
---Dave
More information about the linux-arm-kernel
mailing list