diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-01-17 14:14:10 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-01-23 14:54:50 +0100 |
commit | 44fca38058e84442940cad05a0a53696f2744729 (patch) | |
tree | 40ee3780ba4481b23946d5fe9cca64a2a2ee2163 /rtemsbsd | |
parent | 26ce2ac4281362a84e1e77045946a1730c5128d8 (diff) |
linux/of.h: Add of_read_number()
Update #3277.
Diffstat (limited to 'rtemsbsd')
-rw-r--r-- | rtemsbsd/powerpc/include/linux/of.h | 2 | ||||
-rw-r--r-- | rtemsbsd/sys/powerpc/compat.c | 16 |
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) |