hwrng: timeriomem - New driver
commit9c3c133b1ed6e6d01bfabb6de29bf3d0f0886354
authorAlexander Clouter <alex@digriz.org.uk>
Sun, 22 Feb 2009 04:03:56 +0000 (22 12:03 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sun, 22 Feb 2009 04:03:56 +0000 (22 12:03 +0800)
tree2e6b7184477f75820ce0947df0786920880e4d42
parent0a2e821d627ad5ced23cf31137625b81cc205e0f
hwrng: timeriomem - New driver

Some hardware platforms, the TS-7800[1] is one for example, can
supply the kernel with an entropy source, albeit a slow one for
TS-7800 users, by just reading a particular IO address.  This
source must not be read above a certain rate otherwise the quality
suffers.

The driver is then hooked into by calling
platform_device_(register|add|del) passing a structure similar to:
------
static struct timeriomem_rng_data ts78xx_ts_rng_data = {
        .address        = (u32 *__iomem) TS_RNG,
        .period         = 1000000, /* one second */
};

static struct platform_device ts78xx_ts_rng_device = {
        .name           = "timeriomem_rng",
        .id             = -1,
        .dev            = {
                .platform_data  = &ts78xx_ts_rng_data,
        },
        .num_resources  = 0,
};
------

[1] http://www.embeddedarm.com/products/board-detail.php?product=TS-7800

Signed-off-by: Alexander Clouter <alex@digriz.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/char/hw_random/Kconfig
drivers/char/hw_random/Makefile
drivers/char/hw_random/timeriomem-rng.c [new file with mode: 0644]
include/linux/timeriomem-rng.h [new file with mode: 0644]