mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-15 21:23:23 +00:00
38a9a5121c
Now that the lower level __crc32c_le() library function is optimized for each architecture, make crc32c() just call that instead of taking an inefficient and error-prone detour through the shash API. Note: a future cleanup should make crc32c_le() be the actual library function instead of __crc32c_le(). That will require updating callers of __crc32c_le() to use crc32c_le() instead, and updating callers of crc32c_le() that expect a 'const void *' arg to expect 'const u8 *' instead. Similarly, a future cleanup should remove LIBCRC32C by making everyone who is selecting it just select CRC32 directly instead. Reviewed-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20241202010844.144356-16-ebiggers@kernel.org Signed-off-by: Eric Biggers <ebiggers@google.com>
16 lines
346 B
C
16 lines
346 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_CRC32C_H
|
|
#define _LINUX_CRC32C_H
|
|
|
|
#include <linux/crc32.h>
|
|
|
|
static inline u32 crc32c(u32 crc, const void *address, unsigned int length)
|
|
{
|
|
return __crc32c_le(crc, address, length);
|
|
}
|
|
|
|
/* This macro exists for backwards-compatibility. */
|
|
#define crc32c_le crc32c
|
|
|
|
#endif /* _LINUX_CRC32C_H */
|