]> err.no Git - linux-2.6/commitdiff
[PATCH] ppc64: Consolidate some macros
authorMichael Ellerman <michael@ellerman.id.au>
Wed, 3 Aug 2005 10:21:23 +0000 (20:21 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 29 Aug 2005 00:53:36 +0000 (10:53 +1000)
The only caller of chunk_offset() and abs_chunk() is phys_to_abs(), so
fold the former two into the latter.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
include/asm-ppc64/abs_addr.h

index 05414a9bfdd183aba40670351b48a73fef5ec394..025527742fefdc78caa8f212223edd96476f1920 100644 (file)
@@ -44,24 +44,17 @@ static inline unsigned long addr_to_chunk(unsigned long addr)
        return addr >> MSCHUNKS_CHUNK_SHIFT;
 }
 
-static inline unsigned long chunk_offset(unsigned long addr)
+static inline unsigned long phys_to_abs(unsigned long pa)
 {
-       return addr & MSCHUNKS_OFFSET_MASK;
-}
+       unsigned long chunk;
 
-static inline unsigned long abs_chunk(unsigned long pchunk)
-{
-       if (pchunk >= mschunks_map.num_chunks)
-               return pchunk;
+       chunk = addr_to_chunk(pa);
 
-       return mschunks_map.mapping[pchunk];
-}
+       if (chunk < mschunks_map.num_chunks)
+               chunk = mschunks_map.mapping[chunk];
 
-/* A macro so it can take pointers or unsigned long. */
-#define phys_to_abs(pa)                                                     \
-       ({ unsigned long _pa = (unsigned long)(pa);                          \
-          chunk_to_addr(abs_chunk(addr_to_chunk(_pa))) + chunk_offset(_pa); \
-       })
+       return chunk_to_addr(chunk) + (pa & MSCHUNKS_OFFSET_MASK);
+}
 
 static inline unsigned long
 physRpn_to_absRpn(unsigned long rpn)