aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/of
diff options
context:
space:
mode:
authorKevin Cernekee <cernekee@gmail.com>2015-04-09 16:05:15 -0400
committerRob Herring <robh@kernel.org>2015-04-14 20:35:44 -0400
commitcc7837867a559feba70fdf68eb53c24a84e3712f (patch)
tree109ba477dbe16219c56245b46e0908d78aa4a583 /drivers/of
parent37786c7fee40771d13901de129af7e084ed48b55 (diff)
of/fdt: Add endianness helper function for early init code
Provide a libfdt-based equivalent for of_device_is_big_endian(), suitable for use in the early_init_* functions. Signed-off-by: Kevin Cernekee <cernekee@gmail.com> Reviewed-by: Peter Hurley <peter@hurleysoftware.com> Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: Rob Herring <robh@kernel.org>
Diffstat (limited to 'drivers/of')
-rw-r--r--drivers/of/fdt.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index 34bdc4de83d0..4b15aa163b6e 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -109,6 +109,25 @@ int of_fdt_is_compatible(const void *blob,
109} 109}
110 110
111/** 111/**
112 * of_fdt_is_big_endian - Return true if given node needs BE MMIO accesses
113 * @blob: A device tree blob
114 * @node: node to test
115 *
116 * Returns true if the node has a "big-endian" property, or if the kernel
117 * was compiled for BE *and* the node has a "native-endian" property.
118 * Returns false otherwise.
119 */
120bool of_fdt_is_big_endian(const void *blob, unsigned long node)
121{
122 if (fdt_getprop(blob, node, "big-endian", NULL))
123 return true;
124 if (IS_ENABLED(CONFIG_CPU_BIG_ENDIAN) &&
125 fdt_getprop(blob, node, "native-endian", NULL))
126 return true;
127 return false;
128}
129
130/**
112 * of_fdt_match - Return true if node matches a list of compatible values 131 * of_fdt_match - Return true if node matches a list of compatible values
113 */ 132 */
114int of_fdt_match(const void *blob, unsigned long node, 133int of_fdt_match(const void *blob, unsigned long node,