linux/drivers/crypto/caam/caamprng.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Driver to expose SEC4 PRNG via crypto RNG API
 *
 * Copyright 2022 NXP
 *
 */

#include <linux/completion.h>
#include <crypto/internal/rng.h>
#include <linux/dma-mapping.h>
#include <linux/kernel.h>
#include "compat.h"
#include "regs.h"
#include "intern.h"
#include "desc_constr.h"
#include "jr.h"
#include "error.h"

/*
 * Length of used descriptors, see caam_init_desc()
 */
#define CAAM_PRNG_MAX_DESC_LEN

/* prng per-device context */
struct caam_prng_ctx {};

struct caam_prng_alg {};

static void caam_prng_done(struct device *jrdev, u32 *desc, u32 err,
			  void *context)
{}

static u32 *caam_init_reseed_desc(u32 *desc)
{}

static u32 *caam_init_prng_desc(u32 *desc, dma_addr_t dst_dma, u32 len)
{}

static int caam_prng_generate(struct crypto_rng *tfm,
			     const u8 *src, unsigned int slen,
			     u8 *dst, unsigned int dlen)
{}

static void caam_prng_exit(struct crypto_tfm *tfm) {}

static int caam_prng_init(struct crypto_tfm *tfm)
{}

static int caam_prng_seed(struct crypto_rng *tfm,
			 const u8 *seed, unsigned int slen)
{}

static struct caam_prng_alg caam_prng_alg =;

void caam_prng_unregister(void *data)
{}

int caam_prng_register(struct device *ctrldev)
{}