lkml.org 
[lkml]   [2012]   [Jan]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH 05/13] crc32: Fix mixing of endian-specific types
    From
    Date
    crc32.c in its original version freely mixed u32, __le32 and __be32 types
    which caused warnings from sparse with __CHECK_ENDIAN__.
    This patch fixes these by forcing the types to u32.

    From: Bob Pearson <rpearson@systemfabricworks.com>
    Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com>
    [djwong@us.ibm.com: Minor changelog tweaks]
    Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
    ---
    lib/crc32.c | 12 ++++++------
    1 files changed, 6 insertions(+), 6 deletions(-)


    diff --git a/lib/crc32.c b/lib/crc32.c
    index bf03922..7394288 100644
    --- a/lib/crc32.c
    +++ b/lib/crc32.c
    @@ -28,13 +28,13 @@
    #include "crc32defs.h"

    #if CRC_LE_BITS == 8
    -# define tole(x) __constant_cpu_to_le32(x)
    +# define tole(x) ((__force u32) __constant_cpu_to_le32(x))
    #else
    # define tole(x) (x)
    #endif

    #if CRC_BE_BITS == 8
    -# define tobe(x) __constant_cpu_to_be32(x)
    +# define tobe(x) ((__force u32) __constant_cpu_to_be32(x))
    #else
    # define tobe(x) (x)
    #endif
    @@ -128,9 +128,9 @@ u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
    # elif CRC_LE_BITS == 8
    const u32 (*tab)[] = crc32table_le;

    - crc = __cpu_to_le32(crc);
    + crc = (__force u32) __cpu_to_le32(crc);
    crc = crc32_body(crc, p, len, tab);
    - crc = __le32_to_cpu(crc);
    + crc = __le32_to_cpu((__force __le32)crc);
    #endif
    return crc;
    }
    @@ -171,9 +171,9 @@ u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
    # elif CRC_BE_BITS == 8
    const u32 (*tab)[] = crc32table_be;

    - crc = __cpu_to_be32(crc);
    + crc = (__force u32) __cpu_to_be32(crc);
    crc = crc32_body(crc, p, len, tab);
    - crc = __be32_to_cpu(crc);
    + crc = __be32_to_cpu((__force __be32)crc);
    # endif
    return crc;
    }


    \
     
     \ /
      Last update: 2012-01-18 23:31    [W:0.023 / U:95.668 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site