Commit 5b30e739 authored by Jonathan Cameron's avatar Jonathan Cameron
Browse files

iio: accel: fxls8962af: 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: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Sean Nyekjaer <sean@geanix.com>
Reviewed-by: default avatarSean Nyekjaer <sean@geanix.com>
Reviewed-by: default avatarMatti Vaittinen <mazziesaccount@gmail.com>
Reviewed-by: default avatarNuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20221016163409.320197-4-jic23@kernel.org
parent e9b96e18
Loading
Loading
Loading
Loading
+3 −21
Original line number Diff line number Diff line
@@ -159,7 +159,6 @@ struct fxls8962af_chip_info {
struct fxls8962af_data {
	struct regmap *regmap;
	const struct fxls8962af_chip_info *chip_info;
	struct regulator *vdd_reg;
	struct {
		__le16 channels[3];
		s64 ts __aligned(8);
@@ -1051,13 +1050,6 @@ static irqreturn_t fxls8962af_interrupt(int irq, void *p)
	return IRQ_NONE;
}

static void fxls8962af_regulator_disable(void *data_ptr)
{
	struct fxls8962af_data *data = data_ptr;

	regulator_disable(data->vdd_reg);
}

static void fxls8962af_pm_disable(void *dev_ptr)
{
	struct device *dev = dev_ptr;
@@ -1171,20 +1163,10 @@ int fxls8962af_core_probe(struct device *dev, struct regmap *regmap, int irq)
	if (ret)
		return ret;

	data->vdd_reg = devm_regulator_get(dev, "vdd");
	if (IS_ERR(data->vdd_reg))
		return dev_err_probe(dev, PTR_ERR(data->vdd_reg),
				     "Failed to get vdd regulator\n");

	ret = regulator_enable(data->vdd_reg);
	if (ret) {
		dev_err(dev, "Failed to enable vdd regulator: %d\n", ret);
		return ret;
	}

	ret = devm_add_action_or_reset(dev, fxls8962af_regulator_disable, data);
	ret = devm_regulator_get_enable(dev, "vdd");
	if (ret)
		return ret;
		return dev_err_probe(dev, ret,
				     "Failed to get vdd regulator\n");

	ret = regmap_read(data->regmap, FXLS8962AF_WHO_AM_I, &reg);
	if (ret)