blob: 62cc8b5934bde851f3367eda84b2718495429cab [file] [log] [blame]
/* SPDX-License-Identifier: BSD-2-Clause */
/*
* Copyright 2018-2019 NXP
*
* Brief Hash interface calling the HW crypto driver.
*/
#ifndef __DRVCRYPT_HASH_H__
#define __DRVCRYPT_HASH_H__
#include <crypto/crypto_impl.h>
#include <tee_api_types.h>
/*
* Crypto Library Hash driver allocation function prototype
*/
typedef TEE_Result (*hw_hash_allocate)(struct crypto_hash_ctx **ctx,
uint32_t algo);
/*
* Register a hash processing driver in the crypto API
*
* @allocate - Callback for driver context allocation in the crypto layer
*/
static inline TEE_Result drvcrypt_register_hash(hw_hash_allocate allocate)
{
return drvcrypt_register(CRYPTO_HASH, (void *)allocate);
}
#endif /* __DRVCRYPT_HASH_H__ */