proximity: vl53l0x: Make VDD regulator actually optional
authorLuca Weiss <luca.weiss@fairphone.com>
Tue, 14 Jun 2022 11:20:50 +0000 (13:20 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 18 Jun 2022 16:55:17 +0000 (17:55 +0100)
Contrary to what the naming might suggest, devm_regulator_get_optional
returns -ENODEV in case the regulator is not found which will trigger
probe error in this driver.

Use devm_regulator_get instead which will return a dummy regulator that
we can just use as if it was a proper regulator.

Fixes: d3d6dba56dab ("proximity: vl53l0x: Handle the VDD regulator")
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
Link: https://lore.kernel.org/r/20220614112049.302278-1-luca.weiss@fairphone.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/proximity/vl53l0x-i2c.c

index 3b7a33ff601d13e7a2ddb56fa5526d20d83ecc4f..c7c4d33d340f0adfa701464b0569728156f3b2f5 100644 (file)
@@ -237,7 +237,7 @@ static int vl53l0x_probe(struct i2c_client *client)
                                     I2C_FUNC_SMBUS_BYTE_DATA))
                return -EOPNOTSUPP;
 
-       data->vdd_supply = devm_regulator_get_optional(&client->dev, "vdd");
+       data->vdd_supply = devm_regulator_get(&client->dev, "vdd");
        if (IS_ERR(data->vdd_supply))
                return dev_err_probe(&client->dev, PTR_ERR(data->vdd_supply),
                                     "Unable to get VDD regulator\n");