mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	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>
This commit is contained in:
		
							parent
							
								
									3e72ee8874
								
							
						
					
					
						commit
						df91f56adc
					
				
					 2 changed files with 7 additions and 0 deletions
				
			
		| 
						 | 
					@ -5,6 +5,7 @@
 | 
				
			||||||
#include <linux/types.h>
 | 
					#include <linux/types.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern u32 crc32c(u32 crc, const void *address, unsigned int length);
 | 
					extern u32 crc32c(u32 crc, const void *address, unsigned int length);
 | 
				
			||||||
 | 
					extern const char *crc32c_impl(void);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* This macro exists for backwards-compatibility. */
 | 
					/* This macro exists for backwards-compatibility. */
 | 
				
			||||||
#define crc32c_le crc32c
 | 
					#define crc32c_le crc32c
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,6 +71,12 @@ static void __exit libcrc32c_mod_fini(void)
 | 
				
			||||||
	crypto_free_shash(tfm);
 | 
						crypto_free_shash(tfm);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const char *crc32c_impl(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return crypto_shash_driver_name(tfm);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					EXPORT_SYMBOL(crc32c_impl);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module_init(libcrc32c_mod_init);
 | 
					module_init(libcrc32c_mod_init);
 | 
				
			||||||
module_exit(libcrc32c_mod_fini);
 | 
					module_exit(libcrc32c_mod_fini);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue