#include <linux/types.h>
#include <linux/module.h>
#include <linux/crc-t10dif.h>
#include <linux/err.h>
#include <linux/init.h>
#include <crypto/hash.h>
#include <crypto/algapi.h>
#include <linux/static_key.h>
#include <linux/notifier.h>
static struct crypto_shash __rcu *crct10dif_tfm;
static DEFINE_STATIC_KEY_TRUE(crct10dif_fallback);
static DEFINE_MUTEX(crc_t10dif_mutex);
static struct work_struct crct10dif_rehash_work;
static int crc_t10dif_notify(struct notifier_block *self, unsigned long val, void *data)
{ … }
static void crc_t10dif_rehash(struct work_struct *work)
{ … }
static struct notifier_block crc_t10dif_nb = …;
__u16 crc_t10dif_update(__u16 crc, const unsigned char *buffer, size_t len)
{ … }
EXPORT_SYMBOL(…);
__u16 crc_t10dif(const unsigned char *buffer, size_t len)
{ … }
EXPORT_SYMBOL(…);
static int __init crc_t10dif_mod_init(void)
{ … }
static void __exit crc_t10dif_mod_fini(void)
{ … }
module_init(…) …;
module_exit(crc_t10dif_mod_fini);
static int crc_t10dif_transform_show(char *buffer, const struct kernel_param *kp)
{ … }
module_param_call(…);
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_SOFTDEP(…) …;