There is no need to use signed type for number of clients. Moreover, it's cleaner to show that we never go negative there. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- drivers/platform/x86/i2c-multi-instantiate.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/i2c-multi-instantiate.c b/drivers/platform/x86/i2c-multi-instantiate.c index ce4d921c3301..422fa88da643 100644 --- a/drivers/platform/x86/i2c-multi-instantiate.c +++ b/drivers/platform/x86/i2c-multi-instantiate.c @@ -27,7 +27,7 @@ struct i2c_inst_data { }; struct i2c_multi_inst_data { - int num_clients; + unsigned int num_clients; struct i2c_client *clients[]; }; @@ -64,8 +64,9 @@ static int i2c_multi_inst_probe(struct platform_device *pdev) struct i2c_board_info board_info = {}; struct device *dev = &pdev->dev; struct acpi_device *adev; + unsigned int i; char name[32]; - int i, ret; + int ret; match = acpi_match_device(dev->driver->acpi_match_table, dev); if (!match) { @@ -90,7 +91,7 @@ static int i2c_multi_inst_probe(struct platform_device *pdev) for (i = 0; i < multi->num_clients && inst_data[i].type; i++) { memset(&board_info, 0, sizeof(board_info)); strlcpy(board_info.type, inst_data[i].type, I2C_NAME_SIZE); - snprintf(name, sizeof(name), "%s-%s.%d", dev_name(dev), + snprintf(name, sizeof(name), "%s-%s.%u", dev_name(dev), inst_data[i].type, i); board_info.dev_name = name; switch (inst_data[i].flags & IRQ_RESOURCE_TYPE) { @@ -119,12 +120,12 @@ static int i2c_multi_inst_probe(struct platform_device *pdev) multi->clients[i] = i2c_acpi_new_device(dev, i, &board_info); if (IS_ERR(multi->clients[i])) { ret = dev_err_probe(dev, PTR_ERR(multi->clients[i]), - "Error creating i2c-client, idx %d\n", i); + "Error creating i2c-client, idx %u\n", i); goto error; } } if (i < multi->num_clients) { - dev_err(dev, "Error finding driver, idx %d\n", i); + dev_err(dev, "Error finding driver, idx %u\n", i); ret = -ENODEV; goto error; } @@ -133,7 +134,7 @@ static int i2c_multi_inst_probe(struct platform_device *pdev) return 0; error: - while (--i >= 0) + while (i--) i2c_unregister_device(multi->clients[i]); return ret; @@ -142,7 +143,7 @@ static int i2c_multi_inst_probe(struct platform_device *pdev) static int i2c_multi_inst_remove(struct platform_device *pdev) { struct i2c_multi_inst_data *multi = platform_get_drvdata(pdev); - int i; + unsigned int i; for (i = 0; i < multi->num_clients; i++) i2c_unregister_device(multi->clients[i]); -- 2.28.0