Now, when i2c_acpi_new_device() never returns NULL, there is no point to check for it. Besides that, i2c_acpi_new_device() returns -EPROBE_DEFER directly and caller doesn't need to guess is better. Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> --- drivers/platform/x86/i2c-multi-instantiate.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/platform/x86/i2c-multi-instantiate.c b/drivers/platform/x86/i2c-multi-instantiate.c index 16a0eabe1e31..724535673089 100644 --- a/drivers/platform/x86/i2c-multi-instantiate.c +++ b/drivers/platform/x86/i2c-multi-instantiate.c @@ -72,14 +72,10 @@ static int i2c_multi_inst_probe(struct platform_device *pdev) board_info.irq = ret; } multi->clients[i] = i2c_acpi_new_device(dev, i, &board_info); - if (IS_ERR(multi->clients[i])) + if (IS_ERR(multi->clients[i])) { ret = PTR_ERR(multi->clients[i]); - else if (!multi->clients[i]) - ret = -EPROBE_DEFER; /* Wait for i2c-adapter to load */ - else - ret = 0; - if (ret) { - dev_err(dev, "Error creating i2c-client, idx %d\n", i); + if (ret != -EPROBE_DEFER) + dev_err(dev, "Error creating i2c-client, idx %d\n", i); goto error; } } -- 2.19.2