#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/device.h>
#include <linux/amba/bus.h>
#include <linux/hw_random.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/err.h>
static int nmk_rng_read(struct hwrng *rng, void *data, size_t max, bool wait)
{ … }
static struct hwrng nmk_rng = …;
static int nmk_rng_probe(struct amba_device *dev, const struct amba_id *id)
{ … }
static void nmk_rng_remove(struct amba_device *dev)
{ … }
static const struct amba_id nmk_rng_ids[] = …;
MODULE_DEVICE_TABLE(amba, nmk_rng_ids);
static struct amba_driver nmk_rng_driver = …;
module_amba_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;