X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=drivers%2Fcore%2Fof_access.c;h=9a50f559de2d927c56e156076a2845c8fce210fc;hb=83d290c56fab2d38cd1ab4c4cc7099559c1d5046;hp=93a65604967bfb0f2c74646fd13331346b8ec8e5;hpb=821560fd8e43eecc208c1c52ad24faadb6b52703;p=platform%2Fkernel%2Fu-boot.git diff --git a/drivers/core/of_access.c b/drivers/core/of_access.c index 93a6560..9a50f55 100644 --- a/drivers/core/of_access.c +++ b/drivers/core/of_access.c @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: GPL-2.0+ /* * Originally from Linux v4.9 * Paul Mackerras August 1996. @@ -16,12 +17,10 @@ * * This file follows drivers/of/base.c with functions in the same order as the * Linux version. - * - * SPDX-License-Identifier: GPL-2.0+ */ #include -#include +#include #include #include #include @@ -96,6 +95,30 @@ int of_n_size_cells(const struct device_node *np) return OF_ROOT_NODE_SIZE_CELLS_DEFAULT; } +int of_simple_addr_cells(const struct device_node *np) +{ + const __be32 *ip; + + ip = of_get_property(np, "#address-cells", NULL); + if (ip) + return be32_to_cpup(ip); + + /* Return a default of 2 to match fdt_address_cells()*/ + return 2; +} + +int of_simple_size_cells(const struct device_node *np) +{ + const __be32 *ip; + + ip = of_get_property(np, "#size-cells", NULL); + if (ip) + return be32_to_cpup(ip); + + /* Return a default of 2 to match fdt_size_cells()*/ + return 2; +} + struct property *of_find_property(const struct device_node *np, const char *name, int *lenp) { @@ -641,6 +664,13 @@ int of_parse_phandle_with_args(const struct device_node *np, index, out_args); } +int of_count_phandle_with_args(const struct device_node *np, + const char *list_name, const char *cells_name) +{ + return __of_parse_phandle_with_args(np, list_name, cells_name, 0, + -1, NULL); +} + static void of_alias_add(struct alias_prop *ap, struct device_node *np, int id, const char *stem, int stem_len) {