aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 13:02:38 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-06-04 13:02:38 -0400
commitd27050641e9bc056446deb0814e7ba1aa7911f5a (patch)
tree160f46d9a6df3d7234c71a9fbaa31ebcf89c04d0 /arch/microblaze
parentb77279bc2e81545b20824da701b349272a78e4e7 (diff)
parent43cb43678705e39b175b325f17938295996aefc7 (diff)
Merge tag 'devicetree-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux into next
Pull DeviceTree updates from Rob Herring: - Another round of clean-up of FDT related code in architecture code. This removes knowledge of internal FDT details from most architectures except powerpc. - Conversion of kernel's custom FDT parsing code to use libfdt. - DT based initialization for generic serial earlycon. The introduction of generic serial earlycon support went in through the tty tree. - Improve the platform device naming for DT probed devices to ensure unique naming and use parent names instead of a global index. - Fix a race condition in of_update_property. - Unify the various linker section OF match tables and fix several function prototype errors. - Update platform_get_irq_byname to work in deferred probe cases. - 2 binding doc updates * tag 'devicetree-for-3.16' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (58 commits) of: handle NULL node in next_child iterators of/irq: provide more wrappers for !CONFIG_OF devicetree: bindings: Document micrel vendor prefix dt: bindings: dwc2: fix required value for the phy-names property of_pci_irq: kill useless variable in of_irq_parse_pci() of/irq: do irq resolution in platform_get_irq_byname() of: Add a testcase for of_find_node_by_path() of: Make of_find_node_by_path() handle /aliases of: Create unlocked version of for_each_child_of_node() lib: add glibc style strchrnul() variant of: Handle memory@0 node on PPC32 only pci/of: Remove dead code of: fix race between search and remove in of_update_property() of: Use NULL for pointers of: Stop naming platform_device using dcr address of: Ensure unique names without sacrificing determinism tty/serial: pl011: add DT based earlycon support of/fdt: add FDT serial scanning for earlycon of/fdt: add FDT address translation support serial: earlycon: add DT support ...
Diffstat (limited to 'arch/microblaze')
-rw-r--r--arch/microblaze/kernel/prom.c39
1 files changed, 4 insertions, 35 deletions
diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c
index abdfb10e7eca..68f099960ebc 100644
--- a/arch/microblaze/kernel/prom.c
+++ b/arch/microblaze/kernel/prom.c
@@ -43,13 +43,13 @@
43#include <asm/pci-bridge.h> 43#include <asm/pci-bridge.h>
44 44
45#ifdef CONFIG_EARLY_PRINTK 45#ifdef CONFIG_EARLY_PRINTK
46static char *stdout; 46static const char *stdout;
47 47
48static int __init early_init_dt_scan_chosen_serial(unsigned long node, 48static int __init early_init_dt_scan_chosen_serial(unsigned long node,
49 const char *uname, int depth, void *data) 49 const char *uname, int depth, void *data)
50{ 50{
51 unsigned long l; 51 int l;
52 char *p; 52 const char *p;
53 53
54 pr_debug("%s: depth: %d, uname: %s\n", __func__, depth, uname); 54 pr_debug("%s: depth: %d, uname: %s\n", __func__, depth, uname);
55 55
@@ -80,7 +80,7 @@ static int __init early_init_dt_scan_chosen_serial(unsigned long node,
80 (strncmp(p, "xlnx,opb-uartlite", 17) == 0) || 80 (strncmp(p, "xlnx,opb-uartlite", 17) == 0) ||
81 (strncmp(p, "xlnx,axi-uartlite", 17) == 0) || 81 (strncmp(p, "xlnx,axi-uartlite", 17) == 0) ||
82 (strncmp(p, "xlnx,mdm", 8) == 0)) { 82 (strncmp(p, "xlnx,mdm", 8) == 0)) {
83 unsigned int *addrp; 83 const unsigned int *addrp;
84 84
85 *(u32 *)data = UARTLITE; 85 *(u32 *)data = UARTLITE;
86 86
@@ -114,34 +114,3 @@ void __init early_init_devtree(void *params)
114 114
115 pr_debug(" <- early_init_devtree()\n"); 115 pr_debug(" <- early_init_devtree()\n");
116} 116}
117
118/*******
119 *
120 * New implementation of the OF "find" APIs, return a refcounted
121 * object, call of_node_put() when done. The device tree and list
122 * are protected by a rw_lock.
123 *
124 * Note that property management will need some locking as well,
125 * this isn't dealt with yet.
126 *
127 *******/
128
129#if defined(CONFIG_DEBUG_FS) && defined(DEBUG)
130static struct debugfs_blob_wrapper flat_dt_blob;
131
132static int __init export_flat_device_tree(void)
133{
134 struct dentry *d;
135
136 flat_dt_blob.data = initial_boot_params;
137 flat_dt_blob.size = initial_boot_params->totalsize;
138
139 d = debugfs_create_blob("flat-device-tree", S_IFREG | S_IRUSR,
140 of_debugfs_root, &flat_dt_blob);
141 if (!d)
142 return 1;
143
144 return 0;
145}
146device_initcall(export_flat_device_tree);
147#endif