linux/drivers/char/hw_random/npcm-rng.c

// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2019 Nuvoton Technology corporation.

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/io.h>
#include <linux/iopoll.h>
#include <linux/init.h>
#include <linux/random.h>
#include <linux/err.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/hw_random.h>
#include <linux/delay.h>
#include <linux/pm_runtime.h>

#define NPCM_RNGCS_REG
#define NPCM_RNGD_REG
#define NPCM_RNGMODE_REG

#define NPCM_RNG_CLK_SET_62_5MHZ
#define NPCM_RNG_CLK_SET_25MHZ
#define NPCM_RNG_DATA_VALID
#define NPCM_RNG_ENABLE
#define NPCM_RNG_M1ROSEL

#define NPCM_RNG_TIMEOUT_USEC
#define NPCM_RNG_POLL_USEC

#define to_npcm_rng(p)

struct npcm_rng {};

static int npcm_rng_init(struct hwrng *rng)
{}

static void npcm_rng_cleanup(struct hwrng *rng)
{}

static int npcm_rng_read(struct hwrng *rng, void *buf, size_t max, bool wait)
{}

static int npcm_rng_probe(struct platform_device *pdev)
{}

static void npcm_rng_remove(struct platform_device *pdev)
{}

#ifdef CONFIG_PM
static int npcm_rng_runtime_suspend(struct device *dev)
{}

static int npcm_rng_runtime_resume(struct device *dev)
{}
#endif

static const struct dev_pm_ops npcm_rng_pm_ops =;

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

static struct platform_driver npcm_rng_driver =;

module_platform_driver();

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