diff options
| author | Vitaly Wool <vwool@ru.mvista.com> | 2006-11-20 08:32:39 -0500 |
|---|---|---|
| committer | Paul Mackerras <paulus@samba.org> | 2006-12-04 04:41:24 -0500 |
| commit | 28f9ec349ae47c91768b7bc5607db4442c818e11 (patch) | |
| tree | 548d75d56ffefd80c8c0fc85afd39fad2d3f156f /arch/powerpc/sysdev/rom.c | |
| parent | a5715d6dfc85e002bfad68bb2858cf5a248e2060 (diff) | |
[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 'arch/powerpc/sysdev/rom.c')
| -rw-r--r-- | arch/powerpc/sysdev/rom.c | 31 |
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 @@ | |||
| 1 | /* | ||
| 2 | * ROM device registration | ||
| 3 | * | ||
| 4 | * (C) 2006 MontaVista Software, Inc. This file is licensed under | ||
| 5 | * the terms of the GNU General Public License version 2. This program | ||
| 6 | * is licensed "as is" without any warranty of any kind, whether express | ||
| 7 | * or implied. | ||
| 8 | */ | ||
| 9 | |||
| 10 | #include <linux/kernel.h> | ||
| 11 | #include <asm/of_device.h> | ||
| 12 | |||
| 13 | static int __init powerpc_flash_init(void) | ||
| 14 | { | ||
| 15 | struct device_node *node = NULL; | ||
| 16 | |||
| 17 | /* | ||
| 18 | * Register all the devices which type is "rom" | ||
| 19 | */ | ||
| 20 | while ((node = of_find_node_by_type(node, "rom")) != NULL) { | ||
| 21 | if (node->name == NULL) { | ||
| 22 | printk(KERN_WARNING "powerpc_flash_init: found 'rom' " | ||
| 23 | "device, but with no name, skipping...\n"); | ||
| 24 | continue; | ||
| 25 | } | ||
| 26 | of_platform_device_create(node, node->name, NULL); | ||
| 27 | } | ||
| 28 | return 0; | ||
| 29 | } | ||
| 30 | |||
| 31 | arch_initcall(powerpc_flash_init); | ||
