lkml.org 
[lkml]   [2009]   [Jan]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 03/23] cris: introduce asm/swab.h
    From
    Date
    cris holds its arch overrides in an arch/ folder, rename these
    byteorder.h files to swab.h and include them from asm/swab.h

    Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
    ---
    arch/cris/include/arch-v10/arch/byteorder.h | 28 ---------------------------
    arch/cris/include/arch-v10/arch/swab.h | 28 +++++++++++++++++++++++++++
    arch/cris/include/arch-v32/arch/byteorder.h | 22 ---------------------
    arch/cris/include/arch-v32/arch/swab.h | 22 +++++++++++++++++++++
    arch/cris/include/asm/Kbuild | 1 +
    arch/cris/include/asm/byteorder.h | 10 +-------
    arch/cris/include/asm/swab.h | 12 +++++++++++
    7 files changed, 65 insertions(+), 58 deletions(-)

    diff --git a/arch/cris/include/arch-v10/arch/byteorder.h b/arch/cris/include/arch-v10/arch/byteorder.h
    deleted file mode 100644
    index ffbd667..0000000
    --- a/arch/cris/include/arch-v10/arch/byteorder.h
    +++ /dev/null
    @@ -1,28 +0,0 @@
    -#ifndef _CRIS_ARCH_BYTEORDER_H
    -#define _CRIS_ARCH_BYTEORDER_H
    -
    -#include <asm/types.h>
    -#include <linux/compiler.h>
    -
    -/* we just define these two (as we can do the swap in a single
    - * asm instruction in CRIS) and the arch-independent files will put
    - * them together into ntohl etc.
    - */
    -
    -static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
    -{
    - __asm__ ("swapwb %0" : "=r" (x) : "0" (x));
    -
    - return(x);
    -}
    -#define __arch_swab32 __arch_swab32
    -
    -static inline __attribute_const__ __u16 __arch_swab16(__u16 x)
    -{
    - __asm__ ("swapb %0" : "=r" (x) : "0" (x));
    -
    - return(x);
    -}
    -#define __arch_swab16 __arch_swab16
    -
    -#endif
    diff --git a/arch/cris/include/arch-v10/arch/swab.h b/arch/cris/include/arch-v10/arch/swab.h
    new file mode 100644
    index 0000000..3eb0993
    --- /dev/null
    +++ b/arch/cris/include/arch-v10/arch/swab.h
    @@ -0,0 +1,28 @@
    +#ifndef _CRIS_ARCH_SWAB_H
    +#define _CRIS_ARCH_SWAB_H
    +
    +#include <asm/types.h>
    +#include <linux/compiler.h>
    +
    +/* we just define these two (as we can do the swap in a single
    + * asm instruction in CRIS) and the arch-independent files will put
    + * them together into ntohl etc.
    + */
    +
    +static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
    +{
    + __asm__ ("swapwb %0" : "=r" (x) : "0" (x));
    +
    + return(x);
    +}
    +#define __arch_swab32 __arch_swab32
    +
    +static inline __attribute_const__ __u16 __arch_swab16(__u16 x)
    +{
    + __asm__ ("swapb %0" : "=r" (x) : "0" (x));
    +
    + return(x);
    +}
    +#define __arch_swab16 __arch_swab16
    +
    +#endif
    diff --git a/arch/cris/include/arch-v32/arch/byteorder.h b/arch/cris/include/arch-v32/arch/byteorder.h
    deleted file mode 100644
    index fb76087..0000000
    --- a/arch/cris/include/arch-v32/arch/byteorder.h
    +++ /dev/null
    @@ -1,22 +0,0 @@
    -#ifndef _ASM_CRIS_ARCH_BYTEORDER_H
    -#define _ASM_CRIS_ARCH_BYTEORDER_H
    -
    -#include <asm/types.h>
    -
    -static inline __const__ __u32
    -__arch_swab32(__u32 x)
    -{
    - __asm__ __volatile__ ("swapwb %0" : "=r" (x) : "0" (x));
    - return (x);
    -}
    -#define __arch_swab32 __arch_swab32
    -
    -static inline __const__ __u16
    -__arch_swab16(__u16 x)
    -{
    - __asm__ __volatile__ ("swapb %0" : "=r" (x) : "0" (x));
    - return (x);
    -}
    -#define __arch_swab16 __arch_swab16
    -
    -#endif /* _ASM_CRIS_ARCH_BYTEORDER_H */
    diff --git a/arch/cris/include/arch-v32/arch/swab.h b/arch/cris/include/arch-v32/arch/swab.h
    new file mode 100644
    index 0000000..ed1f280
    --- /dev/null
    +++ b/arch/cris/include/arch-v32/arch/swab.h
    @@ -0,0 +1,22 @@
    +#ifndef _ASM_CRIS_ARCH_SWAB_H
    +#define _ASM_CRIS_ARCH_SWAB_H
    +
    +#include <asm/types.h>
    +
    +static inline __const__ __u32
    +__arch_swab32(__u32 x)
    +{
    + __asm__ __volatile__ ("swapwb %0" : "=r" (x) : "0" (x));
    + return (x);
    +}
    +#define __arch_swab32 __arch_swab32
    +
    +static inline __const__ __u16
    +__arch_swab16(__u16 x)
    +{
    + __asm__ __volatile__ ("swapb %0" : "=r" (x) : "0" (x));
    + return (x);
    +}
    +#define __arch_swab16 __arch_swab16
    +
    +#endif /* _ASM_CRIS_ARCH_SWAB_H */
    diff --git a/arch/cris/include/asm/Kbuild b/arch/cris/include/asm/Kbuild
    index d5b6319..b79b7c6 100644
    --- a/arch/cris/include/asm/Kbuild
    +++ b/arch/cris/include/asm/Kbuild
    @@ -9,3 +9,4 @@ header-y += sync_serial.h

    unifdef-y += etraxgpio.h
    unifdef-y += rs485.h
    +unifdef-y += swab.h
    diff --git a/arch/cris/include/asm/byteorder.h b/arch/cris/include/asm/byteorder.h
    index 420c030..7678d86 100644
    --- a/arch/cris/include/asm/byteorder.h
    +++ b/arch/cris/include/asm/byteorder.h
    @@ -1,14 +1,8 @@
    #ifndef _CRIS_BYTEORDER_H
    #define _CRIS_BYTEORDER_H

    -#define __LITTLE_ENDIAN
    -#define __SWAB_64_THRU_32__
    -
    -#ifdef __KERNEL__
    -# include <arch/byteorder.h>
    -#endif
    -
    -#include <linux/byteorder.h>
    +#include <asm/swab.h>
    +#include <linux/byteorder/little_endian.h>

    #endif

    diff --git a/arch/cris/include/asm/swab.h b/arch/cris/include/asm/swab.h
    new file mode 100644
    index 0000000..9a0ad25
    --- /dev/null
    +++ b/arch/cris/include/asm/swab.h
    @@ -0,0 +1,12 @@
    +#ifndef _CRIS_SWAB_H
    +#define _CRIS_SWAB_H
    +
    +#define __SWAB_64_THRU_32__
    +
    +#ifdef __KERNEL__
    +# include <arch/swab.h>
    +#endif
    +
    +#endif
    +
    +
    --
    1.6.1.94.g9388



    \
     
     \ /
      Last update: 2009-01-06 22:35    [W:0.030 / U:0.604 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site