Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

libcrc32c: Add crc32c_impl function

This function returns a string with the currently in-use implementation
of the crc32c algorithm, i.e crc32c-generic (for unoptimised, generic
implementation) or crc32c-intel for the sse optimised version. This
will be used by btrfs.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
[ use crypto_shash_driver_name as suggested by Herbert ]
Signed-off-by: David Sterba <dsterba@suse.com>

authored by

Nikolay Borisov and committed by
David Sterba
df91f56a 3e72ee88

+7
+1
include/linux/crc32c.h
··· 5 5 #include <linux/types.h> 6 6 7 7 extern u32 crc32c(u32 crc, const void *address, unsigned int length); 8 + extern const char *crc32c_impl(void); 8 9 9 10 /* This macro exists for backwards-compatibility. */ 10 11 #define crc32c_le crc32c
+6
lib/libcrc32c.c
··· 71 71 crypto_free_shash(tfm); 72 72 } 73 73 74 + const char *crc32c_impl(void) 75 + { 76 + return crypto_shash_driver_name(tfm); 77 + } 78 + EXPORT_SYMBOL(crc32c_impl); 79 + 74 80 module_init(libcrc32c_mod_init); 75 81 module_exit(libcrc32c_mod_fini); 76 82