diff options
author | Kevin Bracey <kevin@bracey.fi> | 2022-01-18 11:23:49 +0100 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2022-01-31 01:21:43 +0100 |
commit | 5cb29be47d44d6090f1cdc21f439439dc43b471f (patch) | |
tree | 9d844364d4205b6e67ebfab2f4fa820f910076a7 /lib/crc32.c | |
parent | lib/crc32: remove unneeded casts (diff) | |
download | linux-5cb29be47d44d6090f1cdc21f439439dc43b471f.tar.xz linux-5cb29be47d44d6090f1cdc21f439439dc43b471f.zip |
lib/crc32: Make crc32_be weak for arch override
crc32_le and __crc32c_le can be overridden - extend this to crc32_be.
Signed-off-by: Kevin Bracey <kevin@bracey.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'lib/crc32.c')
-rw-r--r-- | lib/crc32.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/crc32.c b/lib/crc32.c index 7f062a2639df..5649847d0a8d 100644 --- a/lib/crc32.c +++ b/lib/crc32.c @@ -206,6 +206,7 @@ EXPORT_SYMBOL(__crc32c_le); u32 __pure crc32_le_base(u32, unsigned char const *, size_t) __alias(crc32_le); u32 __pure __crc32c_le_base(u32, unsigned char const *, size_t) __alias(__crc32c_le); +u32 __pure crc32_be_base(u32, unsigned char const *, size_t) __alias(crc32_be); /* * This multiplies the polynomials x and y modulo the given modulus. @@ -330,12 +331,12 @@ static inline u32 __pure crc32_be_generic(u32 crc, unsigned char const *p, } #if CRC_BE_BITS == 1 -u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len) +u32 __pure __weak crc32_be(u32 crc, unsigned char const *p, size_t len) { return crc32_be_generic(crc, p, len, NULL, CRC32_POLY_BE); } #else -u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len) +u32 __pure __weak crc32_be(u32 crc, unsigned char const *p, size_t len) { return crc32_be_generic(crc, p, len, crc32table_be, CRC32_POLY_BE); } |