Commit 8f243af4 authored by Joe Mario's avatar Joe Mario Committed by Linus Torvalds

sections: fix const sections for crc32 table

Fix the const sections for the code generated by crc32 table.  There's
no ro version of the cacheline aligned section, so we cannot put in
const data without a conflict Just don't make the crc tables const for
now.

[ak@linux.intel.com: some fixes and new description]
[akpm@linux-foundation.org: checkpatch fixes]
Signed-off-by: default avatarJoe Mario <jmario@redhat.com>
Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent c7fd5bc7
...@@ -188,11 +188,13 @@ u32 __pure __crc32c_le(u32 crc, unsigned char const *p, size_t len) ...@@ -188,11 +188,13 @@ u32 __pure __crc32c_le(u32 crc, unsigned char const *p, size_t len)
#else #else
u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len) u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
{ {
return crc32_le_generic(crc, p, len, crc32table_le, CRCPOLY_LE); return crc32_le_generic(crc, p, len,
(const u32 (*)[256])crc32table_le, CRCPOLY_LE);
} }
u32 __pure __crc32c_le(u32 crc, unsigned char const *p, size_t len) u32 __pure __crc32c_le(u32 crc, unsigned char const *p, size_t len)
{ {
return crc32_le_generic(crc, p, len, crc32ctable_le, CRC32C_POLY_LE); return crc32_le_generic(crc, p, len,
(const u32 (*)[256])crc32ctable_le, CRC32C_POLY_LE);
} }
#endif #endif
EXPORT_SYMBOL(crc32_le); EXPORT_SYMBOL(crc32_le);
...@@ -253,7 +255,8 @@ u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len) ...@@ -253,7 +255,8 @@ u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
#else #else
u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len) u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
{ {
return crc32_be_generic(crc, p, len, crc32table_be, CRCPOLY_BE); return crc32_be_generic(crc, p, len,
(const u32 (*)[256])crc32table_be, CRCPOLY_BE);
} }
#endif #endif
EXPORT_SYMBOL(crc32_be); EXPORT_SYMBOL(crc32_be);
......
...@@ -109,7 +109,7 @@ int main(int argc, char** argv) ...@@ -109,7 +109,7 @@ int main(int argc, char** argv)
if (CRC_LE_BITS > 1) { if (CRC_LE_BITS > 1) {
crc32init_le(); crc32init_le();
printf("static const u32 __cacheline_aligned " printf("static u32 __cacheline_aligned "
"crc32table_le[%d][%d] = {", "crc32table_le[%d][%d] = {",
LE_TABLE_ROWS, LE_TABLE_SIZE); LE_TABLE_ROWS, LE_TABLE_SIZE);
output_table(crc32table_le, LE_TABLE_ROWS, output_table(crc32table_le, LE_TABLE_ROWS,
...@@ -119,7 +119,7 @@ int main(int argc, char** argv) ...@@ -119,7 +119,7 @@ int main(int argc, char** argv)
if (CRC_BE_BITS > 1) { if (CRC_BE_BITS > 1) {
crc32init_be(); crc32init_be();
printf("static const u32 __cacheline_aligned " printf("static u32 __cacheline_aligned "
"crc32table_be[%d][%d] = {", "crc32table_be[%d][%d] = {",
BE_TABLE_ROWS, BE_TABLE_SIZE); BE_TABLE_ROWS, BE_TABLE_SIZE);
output_table(crc32table_be, LE_TABLE_ROWS, output_table(crc32table_be, LE_TABLE_ROWS,
...@@ -128,7 +128,7 @@ int main(int argc, char** argv) ...@@ -128,7 +128,7 @@ int main(int argc, char** argv)
} }
if (CRC_LE_BITS > 1) { if (CRC_LE_BITS > 1) {
crc32cinit_le(); crc32cinit_le();
printf("static const u32 __cacheline_aligned " printf("static u32 __cacheline_aligned "
"crc32ctable_le[%d][%d] = {", "crc32ctable_le[%d][%d] = {",
LE_TABLE_ROWS, LE_TABLE_SIZE); LE_TABLE_ROWS, LE_TABLE_SIZE);
output_table(crc32ctable_le, LE_TABLE_ROWS, output_table(crc32ctable_le, LE_TABLE_ROWS,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment