Commit 122fb873 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Jonathan Cameron
Browse files

iio: core: Replace iio_sysfs_match_string_with_gaps() by __sysfs_match_string()



None of the current users is using gaps in the list of the items.
No need to have a specific function for that, just replace it by
library available __sysfs_match_string().

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20230118074828.66155-1-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent cd19fbfe
Loading
Loading
Loading
Loading
+1 −31
Original line number Diff line number Diff line
@@ -205,36 +205,6 @@ bool iio_buffer_enabled(struct iio_dev *indio_dev)
}
EXPORT_SYMBOL_GPL(iio_buffer_enabled);

/**
 * iio_sysfs_match_string_with_gaps - matches given string in an array with gaps
 * @array: array of strings
 * @n: number of strings in the array
 * @str: string to match with
 *
 * Returns index of @str in the @array or -EINVAL, similar to match_string().
 * Uses sysfs_streq instead of strcmp for matching.
 *
 * This routine will look for a string in an array of strings.
 * The search will continue until the element is found or the n-th element
 * is reached, regardless of any NULL elements in the array.
 */
static int iio_sysfs_match_string_with_gaps(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)
			continue;
		if (sysfs_streq(item, str))
			return index;
	}

	return -EINVAL;
}

#if defined(CONFIG_DEBUG_FS)
/*
 * There's also a CONFIG_DEBUG_FS guard in include/linux/iio/iio.h for
@@ -569,7 +539,7 @@ ssize_t iio_enum_write(struct iio_dev *indio_dev,
	if (!e->set)
		return -EINVAL;

	ret = iio_sysfs_match_string_with_gaps(e->items, e->num_items, buf);
	ret = __sysfs_match_string(e->items, e->num_items, buf);
	if (ret < 0)
		return ret;