[SPARC]: Merge asm-sparc{,64}/byteorder.h

Signed-off-by: David S. Miller <davem@davemloft.net>

authored by David S. Miller and committed by David S. Miller f610bbc6 145dea00

+48 -53
+47 -4
include/asm-sparc/byteorder.h
··· 1 - /* $Id: byteorder.h,v 1.15 1997/12/16 19:20:44 davem Exp $ */ 2 #ifndef _SPARC_BYTEORDER_H 3 #define _SPARC_BYTEORDER_H 4 5 #include <asm/types.h> 6 7 - #if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__) 8 - # define __BYTEORDER_HAS_U64__ 9 - # define __SWAB_64_THRU_32__ 10 #endif 11 12 #include <linux/byteorder/big_endian.h>
··· 1 #ifndef _SPARC_BYTEORDER_H 2 #define _SPARC_BYTEORDER_H 3 4 #include <asm/types.h> 5 + #include <asm/asi.h> 6 7 + #ifdef __GNUC__ 8 + 9 + #ifdef CONFIG_SPARC32 10 + #define __SWAB_64_THRU_32__ 11 + #endif 12 + 13 + #ifdef CONFIG_SPARC64 14 + 15 + static inline __u16 ___arch__swab16p(const __u16 *addr) 16 + { 17 + __u16 ret; 18 + 19 + __asm__ __volatile__ ("lduha [%1] %2, %0" 20 + : "=r" (ret) 21 + : "r" (addr), "i" (ASI_PL)); 22 + return ret; 23 + } 24 + 25 + static inline __u32 ___arch__swab32p(const __u32 *addr) 26 + { 27 + __u32 ret; 28 + 29 + __asm__ __volatile__ ("lduwa [%1] %2, %0" 30 + : "=r" (ret) 31 + : "r" (addr), "i" (ASI_PL)); 32 + return ret; 33 + } 34 + 35 + static inline __u64 ___arch__swab64p(const __u64 *addr) 36 + { 37 + __u64 ret; 38 + 39 + __asm__ __volatile__ ("ldxa [%1] %2, %0" 40 + : "=r" (ret) 41 + : "r" (addr), "i" (ASI_PL)); 42 + return ret; 43 + } 44 + 45 + #define __arch__swab16p(x) ___arch__swab16p(x) 46 + #define __arch__swab32p(x) ___arch__swab32p(x) 47 + #define __arch__swab64p(x) ___arch__swab64p(x) 48 + 49 + #endif /* CONFIG_SPARC64 */ 50 + 51 + #define __BYTEORDER_HAS_U64__ 52 + 53 #endif 54 55 #include <linux/byteorder/big_endian.h>
+1 -49
include/asm-sparc64/byteorder.h
··· 1 - #ifndef _SPARC64_BYTEORDER_H 2 - #define _SPARC64_BYTEORDER_H 3 - 4 - #include <asm/types.h> 5 - #include <asm/asi.h> 6 - 7 - #ifdef __GNUC__ 8 - 9 - static inline __u16 ___arch__swab16p(const __u16 *addr) 10 - { 11 - __u16 ret; 12 - 13 - __asm__ __volatile__ ("lduha [%1] %2, %0" 14 - : "=r" (ret) 15 - : "r" (addr), "i" (ASI_PL)); 16 - return ret; 17 - } 18 - 19 - static inline __u32 ___arch__swab32p(const __u32 *addr) 20 - { 21 - __u32 ret; 22 - 23 - __asm__ __volatile__ ("lduwa [%1] %2, %0" 24 - : "=r" (ret) 25 - : "r" (addr), "i" (ASI_PL)); 26 - return ret; 27 - } 28 - 29 - static inline __u64 ___arch__swab64p(const __u64 *addr) 30 - { 31 - __u64 ret; 32 - 33 - __asm__ __volatile__ ("ldxa [%1] %2, %0" 34 - : "=r" (ret) 35 - : "r" (addr), "i" (ASI_PL)); 36 - return ret; 37 - } 38 - 39 - #define __arch__swab16p(x) ___arch__swab16p(x) 40 - #define __arch__swab32p(x) ___arch__swab32p(x) 41 - #define __arch__swab64p(x) ___arch__swab64p(x) 42 - 43 - #define __BYTEORDER_HAS_U64__ 44 - 45 - #endif /* __GNUC__ */ 46 - 47 - #include <linux/byteorder/big_endian.h> 48 - 49 - #endif /* _SPARC64_BYTEORDER_H */
··· 1 + #include <asm-sparc/byteorder.h>