diff options
author | Simon Glass <sjg@chromium.org> | 2014-07-23 06:55:09 -0600 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2014-07-23 14:07:25 +0100 |
commit | 5c33c9fdbb3f074676466b18c95dd64e8e6cf6d7 (patch) | |
tree | 2a7a3244b7c55df556460330d2da9cf7e7a6e669 /include/fdtdec.h | |
parent | 9ca296a1b0ef37e53ca62ec8a345d9970f987599 (diff) |
fdt: Add a function to get the alias sequence of a node
Aliases are used to provide U-Boot's numbering of devices, such as:
aliases {
spi0 = "/spi@12330000";
}
spi@12330000 {
...
}
This tells us that the SPI controller at 12330000 is considered to be the
first SPI controller (SPI 0). So we have a numbering for the SPI node.
Add a function that returns the numbering for a node assume that it exists
in the list of aliases.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/fdtdec.h')
-rw-r--r-- | include/fdtdec.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/fdtdec.h b/include/fdtdec.h index a7e6ee7fdf..f454f7e217 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -345,6 +345,24 @@ int fdtdec_find_aliases_for_id(const void *blob, const char *name, int fdtdec_add_aliases_for_id(const void *blob, const char *name, enum fdt_compat_id id, int *node_list, int maxcount); +/** + * Get the alias sequence number of a node + * + * This works out whether a node is pointed to by an alias, and if so, the + * sequence number of that alias. Aliases are of the form <base><num> where + * <num> is the sequence number. For example spi2 would be sequence number + * 2. + * + * @param blob Device tree blob (if NULL, then error is returned) + * @param base Base name for alias (before the underscore) + * @param node Node to look up + * @param seqp This is set to the sequence number if one is found, + * but otherwise the value is left alone + * @return 0 if a sequence was found, -ve if not + */ +int fdtdec_get_alias_seq(const void *blob, const char *base, int node, + int *seqp); + /* * Get the name for a compatible ID * |