summaryrefslogtreecommitdiffstats
path: root/drivers/iio/cdc
diff options
context:
space:
mode:
authorJonathan Cameron <Jonathan.Cameron@huawei.com>2022-10-16 18:34:01 +0200
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2022-11-23 20:44:01 +0100
commit72ce527c7bb599ac1d64ec5393f66a673b75de6b (patch)
tree97b3c2951ab8dbfa62196049cfe4cd226e36e73e /drivers/iio/cdc
parentiio: accel: msa311: Use devm_regulator_get_enable() (diff)
downloadlinux-72ce527c7bb599ac1d64ec5393f66a673b75de6b.tar.xz
linux-72ce527c7bb599ac1d64ec5393f66a673b75de6b.zip
iio: cdc: ad7150: Use devm_regulator_get_enable()
This driver only turns the power on at probe and off via a custom devm_add_action_or_reset() callback. The new devm_regulator_get_enable() replaces this boilerplate code. Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Matti Vaittinen <mazziesaccount@gmail.com> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20221016163409.320197-7-jic23@kernel.org
Diffstat (limited to 'drivers/iio/cdc')
-rw-r--r--drivers/iio/cdc/ad7150.c18
1 files changed, 1 insertions, 17 deletions
diff --git a/drivers/iio/cdc/ad7150.c b/drivers/iio/cdc/ad7150.c
index ebe112b4618b..1113745890ca 100644
--- a/drivers/iio/cdc/ad7150.c
+++ b/drivers/iio/cdc/ad7150.c
@@ -536,19 +536,11 @@ static const struct iio_info ad7150_info_no_irq = {
.read_raw = &ad7150_read_raw,
};
-static void ad7150_reg_disable(void *data)
-{
- struct regulator *reg = data;
-
- regulator_disable(reg);
-}
-
static int ad7150_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct ad7150_chip_info *chip;
struct iio_dev *indio_dev;
- struct regulator *reg;
int ret;
indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*chip));
@@ -563,15 +555,7 @@ static int ad7150_probe(struct i2c_client *client,
indio_dev->modes = INDIO_DIRECT_MODE;
- reg = devm_regulator_get(&client->dev, "vdd");
- if (IS_ERR(reg))
- return PTR_ERR(reg);
-
- ret = regulator_enable(reg);
- if (ret)
- return ret;
-
- ret = devm_add_action_or_reset(&client->dev, ad7150_reg_disable, reg);
+ ret = devm_regulator_get_enable(&client->dev, "vdd");
if (ret)
return ret;