Commit 5ab744d0 authored by Irina Tirdea's avatar Irina Tirdea Committed by Jonathan Cameron
Browse files

iio: magn: bmc150_magn: do not set power state twice when setting trigger state



When setting the trigger state, the device power state is set through
buffer preenable and postdisable hooks. There is no need
to also set it in the trigger set state call.

Remove duplicate set power state from the trigger set
state call.

Signed-off-by: default avatarIrina Tirdea <irina.tirdea@intel.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 019cc46d
Loading
Loading
Loading
Loading
+2 −8
Original line number Diff line number Diff line
@@ -784,29 +784,23 @@ static int bmc150_magn_data_rdy_trigger_set_state(struct iio_trigger *trig,
	if (state == data->dready_trigger_on)
		goto err_unlock;

	ret = bmc150_magn_set_power_state(data, state);
	if (ret < 0)
		goto err_unlock;

	ret = regmap_update_bits(data->regmap, BMC150_MAGN_REG_INT_DRDY,
				 BMC150_MAGN_MASK_DRDY_EN,
				 state << BMC150_MAGN_SHIFT_DRDY_EN);
	if (ret < 0)
		goto err_poweroff;
		goto err_unlock;

	data->dready_trigger_on = state;

	if (state) {
		ret = bmc150_magn_reset_intr(data);
		if (ret < 0)
			goto err_poweroff;
			goto err_unlock;
	}
	mutex_unlock(&data->mutex);

	return 0;

err_poweroff:
	bmc150_magn_set_power_state(data, false);
err_unlock:
	mutex_unlock(&data->mutex);
	return ret;