|
@@ -208,6 +208,24 @@ int dev_read_phandle_with_args(struct udevice *dev, const char *list_name,
|
|
|
int index,
|
|
|
struct ofnode_phandle_args *out_args);
|
|
|
|
|
|
+/**
|
|
|
+ * dev_count_phandle_with_args() - Return phandle number in a list
|
|
|
+ *
|
|
|
+ * This function is usefull to get phandle number contained in a property list.
|
|
|
+ * For example, this allows to allocate the right amount of memory to keep
|
|
|
+ * clock's reference contained into the "clocks" property.
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * @dev: device whose node containing a list
|
|
|
+ * @list_name: property name that contains a list
|
|
|
+ * @cells_name: property name that specifies phandles' arguments count
|
|
|
+ * @Returns number of phandle found on success, on error returns appropriate
|
|
|
+ * errno value.
|
|
|
+ */
|
|
|
+
|
|
|
+int dev_count_phandle_with_args(struct udevice *dev, const char *list_name,
|
|
|
+ const char *cells_name);
|
|
|
+
|
|
|
/**
|
|
|
* dev_read_addr_cells() - Get the number of address cells for a device's node
|
|
|
*
|
|
@@ -416,6 +434,13 @@ static inline int dev_read_phandle_with_args(struct udevice *dev,
|
|
|
out_args);
|
|
|
}
|
|
|
|
|
|
+static inline int dev_count_phandle_with_args(struct udevice *dev,
|
|
|
+ const char *list_name, const char *cells_name)
|
|
|
+{
|
|
|
+ return ofnode_count_phandle_with_args(dev_ofnode(dev), list_name,
|
|
|
+ cells_name);
|
|
|
+}
|
|
|
+
|
|
|
static inline int dev_read_addr_cells(struct udevice *dev)
|
|
|
{
|
|
|
/* NOTE: this call should walk up the parent stack */
|