aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/of/base.c
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2013-08-14 17:27:09 -0400
committerGrant Likely <grant.likely@linaro.org>2013-08-29 16:40:22 -0400
commit5fba49e3a8c22a7bb71c3526ec32b373b3ef32b8 (patch)
treec90f0e7c77115a0cc30629836ba1fe2cf9ff4522 /drivers/of/base.c
parenteded9dd40b1e30215ab7379dc433f3d3c662ec88 (diff)
of: move of_parse_phandle()
Move of_parse_phandle() after __of_parse_phandle_with_args(), since a future patch will call __of_parse_phandle_with_args() from of_parse_phandle(). Moving the function avoids adding a prototype. Doing the move separately highlights the code changes separately. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Grant Likely <grant.likely@linaro.org>
Diffstat (limited to 'drivers/of/base.c')
-rw-r--r--drivers/of/base.c48
1 files changed, 24 insertions, 24 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c
index ab32561117c1..ef2f1d0dd80a 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -1080,30 +1080,6 @@ int of_property_count_strings(struct device_node *np, const char *propname)
1080} 1080}
1081EXPORT_SYMBOL_GPL(of_property_count_strings); 1081EXPORT_SYMBOL_GPL(of_property_count_strings);
1082 1082
1083/**
1084 * of_parse_phandle - Resolve a phandle property to a device_node pointer
1085 * @np: Pointer to device node holding phandle property
1086 * @phandle_name: Name of property holding a phandle value
1087 * @index: For properties holding a table of phandles, this is the index into
1088 * the table
1089 *
1090 * Returns the device_node pointer with refcount incremented. Use
1091 * of_node_put() on it when done.
1092 */
1093struct device_node *of_parse_phandle(const struct device_node *np,
1094 const char *phandle_name, int index)
1095{
1096 const __be32 *phandle;
1097 int size;
1098
1099 phandle = of_get_property(np, phandle_name, &size);
1100 if ((!phandle) || (size < sizeof(*phandle) * (index + 1)))
1101 return NULL;
1102
1103 return of_find_node_by_phandle(be32_to_cpup(phandle + index));
1104}
1105EXPORT_SYMBOL(of_parse_phandle);
1106
1107static int __of_parse_phandle_with_args(const struct device_node *np, 1083static int __of_parse_phandle_with_args(const struct device_node *np,
1108 const char *list_name, 1084 const char *list_name,
1109 const char *cells_name, int index, 1085 const char *cells_name, int index,
@@ -1207,6 +1183,30 @@ static int __of_parse_phandle_with_args(const struct device_node *np,
1207} 1183}
1208 1184
1209/** 1185/**
1186 * of_parse_phandle - Resolve a phandle property to a device_node pointer
1187 * @np: Pointer to device node holding phandle property
1188 * @phandle_name: Name of property holding a phandle value
1189 * @index: For properties holding a table of phandles, this is the index into
1190 * the table
1191 *
1192 * Returns the device_node pointer with refcount incremented. Use
1193 * of_node_put() on it when done.
1194 */
1195struct device_node *of_parse_phandle(const struct device_node *np,
1196 const char *phandle_name, int index)
1197{
1198 const __be32 *phandle;
1199 int size;
1200
1201 phandle = of_get_property(np, phandle_name, &size);
1202 if ((!phandle) || (size < sizeof(*phandle) * (index + 1)))
1203 return NULL;
1204
1205 return of_find_node_by_phandle(be32_to_cpup(phandle + index));
1206}
1207EXPORT_SYMBOL(of_parse_phandle);
1208
1209/**
1210 * of_parse_phandle_with_args() - Find a node pointed by phandle in a list 1210 * of_parse_phandle_with_args() - Find a node pointed by phandle in a list
1211 * @np: pointer to a device tree node containing a list 1211 * @np: pointer to a device tree node containing a list
1212 * @list_name: property name that contains a list 1212 * @list_name: property name that contains a list