Unverified Commit 9fcf6ef3 authored by David Lechner's avatar David Lechner Committed by Mark Brown
Browse files

staging: iio: impedance-analyzer: ad5933: Use devm_regulator_get_enable_read_voltage()



We can reduce boilerplate code by using
devm_regulator_get_enable_read_voltage().

Reviewed-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: default avatarDavid Lechner <dlechner@baylibre.com>
Link: https://lore.kernel.org/r/20240429-regulator-get-enable-get-votlage-v2-6-b1f11ab766c1@baylibre.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 2f4bb1fa
Loading
Loading
Loading
Loading
+2 −24
Original line number Diff line number Diff line
@@ -84,7 +84,6 @@

struct ad5933_state {
	struct i2c_client		*client;
	struct regulator		*reg;
	struct clk			*mclk;
	struct delayed_work		work;
	struct mutex			lock; /* Protect sensor state */
@@ -660,13 +659,6 @@ static void ad5933_work(struct work_struct *work)
	}
}

static void ad5933_reg_disable(void *data)
{
	struct ad5933_state *st = data;

	regulator_disable(st->reg);
}

static int ad5933_probe(struct i2c_client *client)
{
	const struct i2c_device_id *id = i2c_client_get_device_id(client);
@@ -685,23 +677,9 @@ static int ad5933_probe(struct i2c_client *client)

	mutex_init(&st->lock);

	st->reg = devm_regulator_get(&client->dev, "vdd");
	if (IS_ERR(st->reg))
		return PTR_ERR(st->reg);

	ret = regulator_enable(st->reg);
	if (ret) {
		dev_err(&client->dev, "Failed to enable specified VDD supply\n");
		return ret;
	}

	ret = devm_add_action_or_reset(&client->dev, ad5933_reg_disable, st);
	if (ret)
		return ret;

	ret = regulator_get_voltage(st->reg);
	ret = devm_regulator_get_enable_read_voltage(&client->dev, "vdd");
	if (ret < 0)
		return ret;
		return dev_err_probe(&client->dev, ret, "failed to get vdd voltage\n");

	st->vref_mv = ret / 1000;