From: Andy Shevchenko Date: Wed, 28 Nov 2018 11:45:23 +0000 (+0200) Subject: platform/x86: i2c-multi-instantiate: Accept errors of i2c_acpi_new_device() X-Git-Tag: for-linus-20190104~139^2~29 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=41daf985820c72b6768512943dab23f5f41ef865;p=linux-block.git platform/x86: i2c-multi-instantiate: Accept errors of i2c_acpi_new_device() In the future i2c_acpi_new_device() will return error pointer in some cases. Prepare i2c-multi-instantiate driver to support that. Signed-off-by: Andy Shevchenko Reviewed-by: Heikki Krogerus Reviewed-by: Hans de Goede --- diff --git a/drivers/platform/x86/i2c-multi-instantiate.c b/drivers/platform/x86/i2c-multi-instantiate.c index 5456581b473c..e3345da82c84 100644 --- a/drivers/platform/x86/i2c-multi-instantiate.c +++ b/drivers/platform/x86/i2c-multi-instantiate.c @@ -72,9 +72,14 @@ 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 (!multi->clients[i]) { - dev_err(dev, "Error creating i2c-client, idx %d\n", i); + if (IS_ERR(multi->clients[i])) + ret = PTR_ERR(multi->clients[i]); + else if (!multi->clients[i]) ret = -ENODEV; + else + ret = 0; + if (ret) { + dev_err(dev, "Error creating i2c-client, idx %d\n", i); goto error; } }