]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
staging: iio: tsl2x7x: turn chip off if IIO device registration fails
authorBrian Masney <masneyb@onstation.org>
Fri, 11 May 2018 00:12:17 +0000 (20:12 -0400)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 12 May 2018 11:16:39 +0000 (12:16 +0100)
This patch turns the chip off if IIO device registration fails so that
the error handling mirrors the device remove to make review easier in
preparation for moving this driver out of staging.

This patch also adds a missing error check in the call to
tsl2x7x_chip_on() in tsl2x7x_probe().

Signed-off-by: Brian Masney <masneyb@onstation.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/light/tsl2x7x.c

index c1e726fc87b75b59591afd6af65347daba3e4307..f5ca5ada0358369aa5e6d90802f2549d1d61bb66 100644 (file)
@@ -1657,10 +1657,13 @@ static int tsl2x7x_probe(struct i2c_client *clientp,
        }
 
        tsl2x7x_defaults(chip);
-       tsl2x7x_chip_on(indio_dev);
+       ret = tsl2x7x_chip_on(indio_dev);
+       if (ret < 0)
+               return ret;
 
        ret = iio_device_register(indio_dev);
        if (ret) {
+               tsl2x7x_chip_off(indio_dev);
                dev_err(&clientp->dev,
                        "%s: iio registration failed\n", __func__);
                return ret;