|
@@ -656,6 +656,32 @@ int match_string(const char * const *array, size_t n, const char *string)
|
|
|
}
|
|
|
EXPORT_SYMBOL(match_string);
|
|
|
|
|
|
+/**
|
|
|
+ * __sysfs_match_string - matches given string in an array
|
|
|
+ * @array: array of strings
|
|
|
+ * @n: number of strings in the array or -1 for NULL terminated arrays
|
|
|
+ * @str: string to match with
|
|
|
+ *
|
|
|
+ * Returns index of @str in the @array or -EINVAL, just like match_string().
|
|
|
+ * Uses sysfs_streq instead of strcmp for matching.
|
|
|
+ */
|
|
|
+int __sysfs_match_string(const char * const *array, size_t n, const char *str)
|
|
|
+{
|
|
|
+ const char *item;
|
|
|
+ int index;
|
|
|
+
|
|
|
+ for (index = 0; index < n; index++) {
|
|
|
+ item = array[index];
|
|
|
+ if (!item)
|
|
|
+ break;
|
|
|
+ if (sysfs_streq(item, str))
|
|
|
+ return index;
|
|
|
+ }
|
|
|
+
|
|
|
+ return -EINVAL;
|
|
|
+}
|
|
|
+EXPORT_SYMBOL(__sysfs_match_string);
|
|
|
+
|
|
|
#ifndef __HAVE_ARCH_MEMSET
|
|
|
/**
|
|
|
* memset - Fill a region of memory with the given value
|