Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f020b007 authored by Jean Delvare's avatar Jean Delvare Committed by Guenter Roeck
Browse files

hwmon: (ucd9000/ucd9200) Optimize array walk



Rewrite the loop walking the id array during probe. The new code is
better adapted to a null-terminated array, and is also clearer and
more efficient than the original.

Signed-off-by: default avatarJean Delvare <khali@linux-fr.org>
Cc: Axel Lin <axel.lin@gmail.com>
Cc: Guenter Roeck <guenter.roeck@ericsson.com>
Signed-off-by: default avatarGuenter Roeck <guenter.roeck@ericsson.com>
parent d91aae1e
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -141,13 +141,11 @@ static int ucd9000_probe(struct i2c_client *client,
	block_buffer[ret] = '\0';
	dev_info(&client->dev, "Device ID %s\n", block_buffer);

	mid = NULL;
	for (i = 0; i < ARRAY_SIZE(ucd9000_id); i++) {
		mid = &ucd9000_id[i];
	for (mid = ucd9000_id; mid->name[0]; mid++) {
		if (!strncasecmp(mid->name, block_buffer, strlen(mid->name)))
			break;
	}
	if (!mid || !strlen(mid->name)) {
	if (!mid->name[0]) {
		dev_err(&client->dev, "Unsupported device\n");
		return -ENODEV;
	}
+2 −4
Original line number Diff line number Diff line
@@ -68,13 +68,11 @@ static int ucd9200_probe(struct i2c_client *client,
	block_buffer[ret] = '\0';
	dev_info(&client->dev, "Device ID %s\n", block_buffer);

	mid = NULL;
	for (i = 0; i < ARRAY_SIZE(ucd9200_id); i++) {
		mid = &ucd9200_id[i];
	for (mid = ucd9200_id; mid->name[0]; mid++) {
		if (!strncasecmp(mid->name, block_buffer, strlen(mid->name)))
			break;
	}
	if (!mid || !strlen(mid->name)) {
	if (!mid->name[0]) {
		dev_err(&client->dev, "Unsupported device\n");
		return -ENODEV;
	}