aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crc32.c
diff options
context:
space:
mode:
authorBob Pearson <rpearson@systemfabricworks.com>2012-03-23 18:02:23 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-23 19:58:37 -0400
commitce4320ddda4c2520fe77194d3c801ad4e8a8aa11 (patch)
tree273b405fa1d10a185123d216fd33286d50de74f0 /lib/crc32.c
parent60e58d5c9d8d698600e8ccb44b5a13cf99d0d90f (diff)
crc32: fix mixing of endian-specific types
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. [djwong@us.ibm.com: Minor changelog tweaks] Signed-off-by: Bob Pearson <rpearson@systemfabricworks.com> Signed-off-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/crc32.c')
-rw-r--r--lib/crc32.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/crc32.c b/lib/crc32.c
index bf03922c5d69..7394288c045c 100644
--- a/lib/crc32.c
+++ b/lib/crc32.c
@@ -28,13 +28,13 @@
28#include "crc32defs.h" 28#include "crc32defs.h"
29 29
30#if CRC_LE_BITS == 8 30#if CRC_LE_BITS == 8
31# define tole(x) __constant_cpu_to_le32(x) 31# define tole(x) ((__force u32) __constant_cpu_to_le32(x))
32#else 32#else
33# define tole(x) (x) 33# define tole(x) (x)
34#endif 34#endif
35 35
36#if CRC_BE_BITS == 8 36#if CRC_BE_BITS == 8
37# define tobe(x) __constant_cpu_to_be32(x) 37# define tobe(x) ((__force u32) __constant_cpu_to_be32(x))
38#else 38#else
39# define tobe(x) (x) 39# define tobe(x) (x)
40#endif 40#endif
@@ -128,9 +128,9 @@ u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
128# elif CRC_LE_BITS == 8 128# elif CRC_LE_BITS == 8
129 const u32 (*tab)[] = crc32table_le; 129 const u32 (*tab)[] = crc32table_le;
130 130
131 crc = __cpu_to_le32(crc); 131 crc = (__force u32) __cpu_to_le32(crc);
132 crc = crc32_body(crc, p, len, tab); 132 crc = crc32_body(crc, p, len, tab);
133 crc = __le32_to_cpu(crc); 133 crc = __le32_to_cpu((__force __le32)crc);
134#endif 134#endif
135 return crc; 135 return crc;
136} 136}
@@ -171,9 +171,9 @@ u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
171# elif CRC_BE_BITS == 8 171# elif CRC_BE_BITS == 8
172 const u32 (*tab)[] = crc32table_be; 172 const u32 (*tab)[] = crc32table_be;
173 173
174 crc = __cpu_to_be32(crc); 174 crc = (__force u32) __cpu_to_be32(crc);
175 crc = crc32_body(crc, p, len, tab); 175 crc = crc32_body(crc, p, len, tab);
176 crc = __be32_to_cpu(crc); 176 crc = __be32_to_cpu((__force __be32)crc);
177# endif 177# endif
178 return crc; 178 return crc;
179} 179}