From: Michael Buesch <mb@bu3sch.de>
To: akpm@osdl.org
Cc: Deepak Saxena <dsaxena@plexity.net>,
mbuesch@freenet.de, bcm43xx-dev@lists.berlios.de,
linux-kernel@vger.kernel.org
Subject: [patch 4/6] New Generic HW RNG
Date: Sun, 07 May 2006 13:35:17 +0200 [thread overview]
Message-ID: <20060507113605.498766000@pc1> (raw)
In-Reply-To: 20060507113513.418451000@pc1
[-- Attachment #1: add-ixp4xx-hw-random.patch --]
[-- Type: text/plain, Size: 3197 bytes --]
Add ixp4xx H/W RNG driver.
Driver written by Deepak Saxena.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Index: hwrng/drivers/char/hw_random/Kconfig
===================================================================
--- hwrng.orig/drivers/char/hw_random/Kconfig 2006-05-07 01:51:25.000000000 +0200
+++ hwrng/drivers/char/hw_random/Kconfig 2006-05-07 01:51:36.000000000 +0200
@@ -22,3 +22,15 @@
module will be called x86-rng.
If unsure, say Y.
+
+config IXP4XX_RNG
+ tristate "Intel IXP4xx NPU HW Random Number Generator support"
+ depends on HW_RANDOM && ARCH_IXP4XX
+ ---help---
+ This driver provides kernel-side support for the Random
+ Number Generator hardware found on the Intel IXP4xx NPU.
+
+ To compile this driver as a module, choose M here: the
+ module will be called ixp4xx-rng.
+
+ If unsure, say Y.
Index: hwrng/drivers/char/hw_random/Makefile
===================================================================
--- hwrng.orig/drivers/char/hw_random/Makefile 2006-05-07 01:51:25.000000000 +0200
+++ hwrng/drivers/char/hw_random/Makefile 2006-05-07 01:51:36.000000000 +0200
@@ -4,3 +4,4 @@
obj-$(CONFIG_HW_RANDOM) += core.o
obj-$(CONFIG_X86_RNG) += x86-rng.o
+obj-$(CONFIG_IXP4XX_RNG) += ixp4xx-rng.o
Index: hwrng/drivers/char/hw_random/ixp4xx-rng.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ hwrng/drivers/char/hw_random/ixp4xx-rng.c 2006-05-07 01:51:36.000000000 +0200
@@ -0,0 +1,73 @@
+/*
+ * drivers/char/rng/ixp4xx-rng.c
+ *
+ * RNG driver for Intel IXP4xx family of NPUs
+ *
+ * Author: Deepak Saxena <dsaxena@plexity.net>
+ *
+ * Copyright 2005 (c) MontaVista Software, Inc.
+ *
+ * Fixes by Michael Buesch
+ *
+ * This file is licensed under the terms of the GNU General Public
+ * License version 2. This program is licensed "as is" without any
+ * warranty of any kind, whether express or implied.
+ */
+
+#include <linux/kernel.h>
+#include <linux/config.h>
+#include <linux/types.h>
+#include <linux/module.h>
+#include <linux/moduleparam.h>
+#include <linux/init.h>
+#include <linux/bitops.h>
+#include <linux/hw_random.h>
+
+#include <asm/io.h>
+#include <asm/hardware.h>
+
+
+static int ixp4xx_rng_data_read(struct hwrng *rng, u32 *buffer)
+{
+ void __iomem * rng_base = (void __iomem *)rng->priv;
+
+ *buffer = __raw_readl(rng_base);
+
+ return 4;
+}
+
+static struct hwrng ixp4xx_rng_ops = {
+ .name = "ixp4xx",
+ .data_read = ixp4xx_rng_data_read,
+};
+
+static int __init ixp4xx_rng_init(void)
+{
+ void __iomem * rng_base;
+ int err;
+
+ rng_base = ioremap(0x70002100, 4);
+ if (!rng_base)
+ return -ENOMEM;
+ ixp4xx_rng_ops.priv = (unsigned long)rng_base;
+ err = hwrng_register(&ixp4xx_rng_ops);
+ if (err)
+ iounmap(rng_base);
+
+ return err;
+}
+
+static void __exit ixp4xx_rng_exit(void)
+{
+ void __iomem * rng_base = (void __iomem *)ixp4xx_rng_ops.priv;
+
+ hwrng_unregister(&ixp4xx_rng_ops);
+ iounmap(rng_base);
+}
+
+subsys_initcall(ixp4xx_rng_init);
+module_exit(ixp4xx_rng_exit);
+
+MODULE_AUTHOR("Deepak Saxena <dsaxena@plexity.net>");
+MODULE_DESCRIPTION("H/W Random Number Generator (RNG) driver for IXP4xx");
+MODULE_LICENSE("GPL");
--
next prev parent reply other threads:[~2006-05-07 11:30 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-07 11:35 [patch 0/6] New Generic HW RNG Michael Buesch
2006-05-07 11:35 ` [patch 1/6] " Michael Buesch
2006-05-07 11:35 ` [patch 2/6] " Michael Buesch
2006-05-07 13:03 ` Sergey Vlasov
2006-05-07 13:16 ` Michael Buesch
2006-05-07 13:27 ` Michael Buesch
2006-05-07 13:45 ` Sergey Vlasov
2006-05-07 13:56 ` Michael Buesch
2006-05-10 20:57 ` Greg KH
2006-05-10 21:18 ` Michael Buesch
2006-05-07 11:35 ` [patch 3/6] " Michael Buesch
2006-05-07 13:09 ` Sergey Vlasov
2006-05-07 14:51 ` Michael Buesch
2006-05-07 11:35 ` Michael Buesch [this message]
2006-05-07 11:35 ` [patch 5/6] " Michael Buesch
2006-05-07 11:35 ` [patch 6/6] " Michael Buesch
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060507113605.498766000@pc1 \
--to=mb@bu3sch.de \
--cc=akpm@osdl.org \
--cc=bcm43xx-dev@lists.berlios.de \
--cc=dsaxena@plexity.net \
--cc=linux-kernel@vger.kernel.org \
--cc=mbuesch@freenet.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).