#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/errno.h>
#include <crypto/aes.h>
#include <crypto/internal/des.h>
#include <crypto/internal/skcipher.h>
#include "cipher.h"
static unsigned int aes_sw_max_len = …;
module_param(aes_sw_max_len, uint, 0644);
MODULE_PARM_DESC(…) …;
static LIST_HEAD(skcipher_algs);
static void qce_skcipher_done(void *data)
{ … }
static int
qce_skcipher_async_req_handle(struct crypto_async_request *async_req)
{ … }
static int qce_skcipher_setkey(struct crypto_skcipher *ablk, const u8 *key,
unsigned int keylen)
{ … }
static int qce_des_setkey(struct crypto_skcipher *ablk, const u8 *key,
unsigned int keylen)
{ … }
static int qce_des3_setkey(struct crypto_skcipher *ablk, const u8 *key,
unsigned int keylen)
{ … }
static int qce_skcipher_crypt(struct skcipher_request *req, int encrypt)
{ … }
static int qce_skcipher_encrypt(struct skcipher_request *req)
{ … }
static int qce_skcipher_decrypt(struct skcipher_request *req)
{ … }
static int qce_skcipher_init(struct crypto_skcipher *tfm)
{ … }
static int qce_skcipher_init_fallback(struct crypto_skcipher *tfm)
{ … }
static void qce_skcipher_exit(struct crypto_skcipher *tfm)
{ … }
struct qce_skcipher_def { … };
static const struct qce_skcipher_def skcipher_def[] = …;
static int qce_skcipher_register_one(const struct qce_skcipher_def *def,
struct qce_device *qce)
{ … }
static void qce_skcipher_unregister(struct qce_device *qce)
{ … }
static int qce_skcipher_register(struct qce_device *qce)
{ … }
const struct qce_algo_ops skcipher_ops = …;