summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-01-17 14:14:10 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-01-23 14:54:50 +0100
commit44fca38058e84442940cad05a0a53696f2744729 (patch)
tree40ee3780ba4481b23946d5fe9cca64a2a2ee2163
parent26ce2ac4281362a84e1e77045946a1730c5128d8 (diff)
linux/of.h: Add of_read_number()
Update #3277.
-rw-r--r--rtemsbsd/powerpc/include/linux/of.h2
-rw-r--r--rtemsbsd/sys/powerpc/compat.c16
2 files changed, 18 insertions, 0 deletions
diff --git a/rtemsbsd/powerpc/include/linux/of.h b/rtemsbsd/powerpc/include/linux/of.h
index 5ab54314..8ef04697 100644
--- a/rtemsbsd/powerpc/include/linux/of.h
+++ b/rtemsbsd/powerpc/include/linux/of.h
@@ -76,6 +76,8 @@ of_property_read_u32(const struct device_node *dn, const char *name, u32 *val)
return (of_property_read_u32_array(dn, name, val, 1));
}
+uint64_t of_read_number(const uint32_t *cell, int size);
+
struct device_node *of_parse_phandle(struct device_node *dns,
struct device_node *dn, const char *phandle_name, int index);
diff --git a/rtemsbsd/sys/powerpc/compat.c b/rtemsbsd/sys/powerpc/compat.c
index 2ff85f45..400eac57 100644
--- a/rtemsbsd/sys/powerpc/compat.c
+++ b/rtemsbsd/sys/powerpc/compat.c
@@ -121,6 +121,22 @@ of_find_compatible_node(struct device_node *dns, const struct device_node *dn,
}
}
+uint64_t
+of_read_number(const uint32_t *cell, int size)
+{
+ uint64_t number;
+
+ number = 0;
+
+ while (size > 0) {
+ number = (number << 32) | fdt32_to_cpu(*cell);
+ ++cell;
+ --size;
+ }
+
+ return (number);
+}
+
struct device_node *
of_parse_phandle(struct device_node *dns, struct device_node *dn,
const char *phandle_name, int index)