linux/drivers/crypto/gemini/sl3516-ce-core.c

// SPDX-License-Identifier: GPL-2.0
/*
 * sl3516-ce-core.c - hardware cryptographic offloader for Storlink SL3516 SoC
 *
 * Copyright (C) 2021 Corentin Labbe <[email protected]>
 *
 * Core file which registers crypto algorithms supported by the CryptoEngine
 */

#include <crypto/engine.h>
#include <crypto/internal/rng.h>
#include <crypto/internal/skcipher.h>
#include <linux/clk.h>
#include <linux/debugfs.h>
#include <linux/dev_printk.h>
#include <linux/dma-mapping.h>
#include <linux/err.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/reset.h>

#include "sl3516-ce.h"

static int sl3516_ce_desc_init(struct sl3516_ce_dev *ce)
{}

static void sl3516_ce_free_descs(struct sl3516_ce_dev *ce)
{}

static void start_dma_tx(struct sl3516_ce_dev *ce)
{}

static void start_dma_rx(struct sl3516_ce_dev *ce)
{}

static struct descriptor *get_desc_tx(struct sl3516_ce_dev *ce)
{}

static struct descriptor *get_desc_rx(struct sl3516_ce_dev *ce)
{}

int sl3516_ce_run_task(struct sl3516_ce_dev *ce, struct sl3516_ce_cipher_req_ctx *rctx,
		       const char *name)
{}

static irqreturn_t ce_irq_handler(int irq, void *data)
{}

static struct sl3516_ce_alg_template ce_algs[] =;

static int sl3516_ce_debugfs_show(struct seq_file *seq, void *v)
{}

DEFINE_SHOW_ATTRIBUTE();

static int sl3516_ce_register_algs(struct sl3516_ce_dev *ce)
{}

static void sl3516_ce_unregister_algs(struct sl3516_ce_dev *ce)
{}

static void sl3516_ce_start(struct sl3516_ce_dev *ce)
{}

/*
 * Power management strategy: The device is suspended unless a TFM exists for
 * one of the algorithms proposed by this driver.
 */
static int sl3516_ce_pm_suspend(struct device *dev)
{}

static int sl3516_ce_pm_resume(struct device *dev)
{}

static const struct dev_pm_ops sl3516_ce_pm_ops =;

static int sl3516_ce_pm_init(struct sl3516_ce_dev *ce)
{}

static void sl3516_ce_pm_exit(struct sl3516_ce_dev *ce)
{}

static int sl3516_ce_probe(struct platform_device *pdev)
{}

static void sl3516_ce_remove(struct platform_device *pdev)
{}

static const struct of_device_id sl3516_ce_crypto_of_match_table[] =;
MODULE_DEVICE_TABLE(of, sl3516_ce_crypto_of_match_table);

static struct platform_driver sl3516_ce_driver =;

module_platform_driver();

MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_AUTHOR();