m68k: merge mmu and non-mmu bitops.h
authorGreg Ungerer <gerg@uclinux.org>
Tue, 17 May 2011 06:45:00 +0000 (16:45 +1000)
committerGreg Ungerer <gerg@uclinux.org>
Mon, 25 Jul 2011 01:20:40 +0000 (11:20 +1000)
commit171d809df1896c1022f9778cd2788be6c255a7dc
treed944e5178d5a206c000019ccc96d4f45d2b1b668
parentf941f5caa0e947f4ed060a751ca4a3bf552af625
m68k: merge mmu and non-mmu bitops.h

The following patch merges the mmu and non-mmu versions of the m68k
bitops.h files. Now there is a good deal of difference between the two
files, but none of it is actually an mmu specific difference. It is
all about the specific m68k/coldfire varient we are targeting. So it
makes an awful lot of sense to merge these into a single bitops.h.

There is a number of ways I can see to factor this code. The approach
I have taken here is to keep the various versions of each macro/function
type together. This means that there is some ifdefery with each to handle
each CPU type.

I have added some comments in a couple of appropriate places to try
and make it clear what the differences we are dealing with are.
Specifically the instruction and addressing mode differences we have
to deal with.

The merged form keeps the same underlying optimizations for each CPU
type for all the general bit clear/set/change and find bit operations.
It does switch to using the generic le operations though, instead of
any local varients.

Build tested on ColdFire, 68328, 68360 (which is cpu32) and 68020+.
Run tested on ColdFire and ARAnyM.

Signed-off-by: Greg Ungerer <gerg@uclinux.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
arch/m68k/Kconfig
arch/m68k/Kconfig.nommu
arch/m68k/include/asm/bitops.h
arch/m68k/include/asm/bitops_mm.h [deleted file]
arch/m68k/include/asm/bitops_no.h [deleted file]