#include <linux/device.h>
#include <linux/dma-mapping.h>
#include <linux/interrupt.h>
#include <crypto/internal/hash.h>
#include "common.h"
#include "core.h"
#include "sha.h"
struct qce_sha_saved_state { … };
static LIST_HEAD(ahash_algs);
static const u32 std_iv_sha1[SHA256_DIGEST_SIZE / sizeof(u32)] = …;
static const u32 std_iv_sha256[SHA256_DIGEST_SIZE / sizeof(u32)] = …;
static void qce_ahash_done(void *data)
{ … }
static int qce_ahash_async_req_handle(struct crypto_async_request *async_req)
{ … }
static int qce_ahash_init(struct ahash_request *req)
{ … }
static int qce_ahash_export(struct ahash_request *req, void *out)
{ … }
static int qce_ahash_import(struct ahash_request *req, const void *in)
{ … }
static int qce_ahash_update(struct ahash_request *req)
{ … }
static int qce_ahash_final(struct ahash_request *req)
{ … }
static int qce_ahash_digest(struct ahash_request *req)
{ … }
static int qce_ahash_hmac_setkey(struct crypto_ahash *tfm, const u8 *key,
unsigned int keylen)
{ … }
static int qce_ahash_cra_init(struct crypto_tfm *tfm)
{ … }
struct qce_ahash_def { … };
static const struct qce_ahash_def ahash_def[] = …;
static int qce_ahash_register_one(const struct qce_ahash_def *def,
struct qce_device *qce)
{ … }
static void qce_ahash_unregister(struct qce_device *qce)
{ … }
static int qce_ahash_register(struct qce_device *qce)
{ … }
const struct qce_algo_ops ahash_ops = …;