|
@@ -165,6 +165,29 @@ const char *dev_read_name(struct udevice *dev);
|
|
|
int dev_read_stringlist_search(struct udevice *dev, const char *property,
|
|
|
const char *string);
|
|
|
|
|
|
+/**
|
|
|
+ * dev_read_string_index() - obtain an indexed string from a string list
|
|
|
+ *
|
|
|
+ * @dev: device to examine
|
|
|
+ * @propname: name of the property containing the string list
|
|
|
+ * @index: index of the string to return
|
|
|
+ * @out: return location for the string
|
|
|
+ *
|
|
|
+ * @return:
|
|
|
+ * length of string, if found or -ve error value if not found
|
|
|
+ */
|
|
|
+int dev_read_string_index(struct udevice *dev, const char *propname, int index,
|
|
|
+ const char **outp);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dev_read_string_count() - find the number of strings in a string list
|
|
|
+ *
|
|
|
+ * @dev: device to examine
|
|
|
+ * @propname: name of the property containing the string list
|
|
|
+ * @return:
|
|
|
+ * number of strings in the list, or -ve error value if not found
|
|
|
+ */
|
|
|
+int dev_read_string_count(struct udevice *dev, const char *propname);
|
|
|
/**
|
|
|
* dev_read_phandle_with_args() - Find a node pointed by phandle in a list
|
|
|
*
|
|
@@ -451,6 +474,19 @@ static inline int dev_read_stringlist_search(struct udevice *dev,
|
|
|
return ofnode_stringlist_search(dev_ofnode(dev), propname, string);
|
|
|
}
|
|
|
|
|
|
+static inline int dev_read_string_index(struct udevice *dev,
|
|
|
+ const char *propname, int index,
|
|
|
+ const char **outp)
|
|
|
+{
|
|
|
+ return ofnode_read_string_index(dev_ofnode(dev), propname, index, outp);
|
|
|
+}
|
|
|
+
|
|
|
+static inline int dev_read_string_count(struct udevice *dev,
|
|
|
+ const char *propname)
|
|
|
+{
|
|
|
+ return ofnode_read_string_count(dev_ofnode(dev), propname);
|
|
|
+}
|
|
|
+
|
|
|
static inline int dev_read_phandle_with_args(struct udevice *dev,
|
|
|
const char *list_name, const char *cells_name, int cell_count,
|
|
|
int index, struct ofnode_phandle_args *out_args)
|