#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/crypto.h>
#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/of.h>
#include <linux/clk.h>
#include <linux/of_address.h>
#include <linux/pm_runtime.h>
#include "cc_driver.h"
#include "cc_request_mgr.h"
#include "cc_buffer_mgr.h"
#include "cc_debugfs.h"
#include "cc_cipher.h"
#include "cc_aead.h"
#include "cc_hash.h"
#include "cc_sram_mgr.h"
#include "cc_pm.h"
#include "cc_fips.h"
bool cc_dump_desc;
module_param_named(dump_desc, cc_dump_desc, bool, 0600);
MODULE_PARM_DESC(…) …;
bool cc_dump_bytes;
module_param_named(dump_bytes, cc_dump_bytes, bool, 0600);
MODULE_PARM_DESC(…) …;
static bool cc_sec_disable;
module_param_named(sec_disable, cc_sec_disable, bool, 0600);
MODULE_PARM_DESC(…) …;
struct cc_hw_data { … };
#define CC_NUM_IDRS …
#define CC_HW_RESET_LOOP_COUNT …
static const u32 pidr_0124_offsets[CC_NUM_IDRS] = …;
static const u32 cidr_0123_offsets[CC_NUM_IDRS] = …;
static const struct cc_hw_data cc703_hw = …;
static const struct cc_hw_data cc713_hw = …;
static const struct cc_hw_data cc712_hw = …;
static const struct cc_hw_data cc710_hw = …;
static const struct cc_hw_data cc630p_hw = …;
static const struct of_device_id arm_ccree_dev_of_match[] = …;
MODULE_DEVICE_TABLE(of, arm_ccree_dev_of_match);
static void init_cc_cache_params(struct cc_drvdata *drvdata)
{ … }
static u32 cc_read_idr(struct cc_drvdata *drvdata, const u32 *idr_offsets)
{ … }
void __dump_byte_array(const char *name, const u8 *buf, size_t len)
{ … }
static irqreturn_t cc_isr(int irq, void *dev_id)
{ … }
bool cc_wait_for_reset_completion(struct cc_drvdata *drvdata)
{ … }
int init_cc_regs(struct cc_drvdata *drvdata)
{ … }
static int init_cc_resources(struct platform_device *plat_dev)
{ … }
void fini_cc_regs(struct cc_drvdata *drvdata)
{ … }
static void cleanup_cc_resources(struct platform_device *plat_dev)
{ … }
unsigned int cc_get_default_hash_len(struct cc_drvdata *drvdata)
{ … }
static int ccree_probe(struct platform_device *plat_dev)
{ … }
static void ccree_remove(struct platform_device *plat_dev)
{ … }
static struct platform_driver ccree_driver = …;
static int __init ccree_init(void)
{ … }
module_init(…) …;
static void __exit ccree_exit(void)
{ … }
module_exit(ccree_exit);
MODULE_DESCRIPTION(…) …;
MODULE_VERSION(…);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;