summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/rom.c
diff options
context:
space:
mode:
authorVitaly Wool <vwool@ru.mvista.com>2006-11-20 14:32:39 +0100
committerPaul Mackerras <paulus@samba.org>2006-12-04 10:41:24 +0100
commit28f9ec349ae47c91768b7bc5607db4442c818e11 (patch)
tree548d75d56ffefd80c8c0fc85afd39fad2d3f156f /arch/powerpc/sysdev/rom.c
parent[POWERPC] pSeries/kexec: Fix for interrupt distribution (diff)
downloadlinux-28f9ec349ae47c91768b7bc5607db4442c818e11.tar.xz
linux-28f9ec349ae47c91768b7bc5607db4442c818e11.zip
[POWERPC] Add of_platform support for ROM devices
This adds support for flash device descriptions to the OF device tree. It's inspired by and partially borrowed from Sergei's patch "[RFC] Adding MTD to device tree.patch". Signed-off-by: Vitaly Wool <vwool@ru.mvista.com> Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to '')
-rw-r--r--arch/powerpc/sysdev/rom.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/arch/powerpc/sysdev/rom.c b/arch/powerpc/sysdev/rom.c
new file mode 100644
index 000000000000..bf5b3f10e6c6
--- /dev/null
+++ b/arch/powerpc/sysdev/rom.c
@@ -0,0 +1,31 @@
+/*
+ * ROM device registration
+ *
+ * (C) 2006 MontaVista Software, Inc. 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 <asm/of_device.h>
+
+static int __init powerpc_flash_init(void)
+{
+ struct device_node *node = NULL;
+
+ /*
+ * Register all the devices which type is "rom"
+ */
+ while ((node = of_find_node_by_type(node, "rom")) != NULL) {
+ if (node->name == NULL) {
+ printk(KERN_WARNING "powerpc_flash_init: found 'rom' "
+ "device, but with no name, skipping...\n");
+ continue;
+ }
+ of_platform_device_create(node, node->name, NULL);
+ }
+ return 0;
+}
+
+arch_initcall(powerpc_flash_init);