@@ -89,12 +89,6 @@ static int al3010_init(struct al3010_data *data)
if (ret < 0)
return ret;
- ret = devm_add_action_or_reset(&data->client->dev,
- al3010_set_pwr_off,
- data);
- if (ret < 0)
- return ret;
-
ret = i2c_smbus_write_byte_data(data->client, AL3010_REG_CONFIG,
FIELD_PREP(AL3010_GAIN_MASK,
AL3XXX_RANGE_3));
@@ -195,6 +189,10 @@ static int al3010_probe(struct i2c_client *client)
return ret;
}
+ ret = devm_add_action_or_reset(dev, al3010_set_pwr_off, data);
+ if (ret)
+ return dev_err_probe(dev, ret, "failed to add action\n");
+
return devm_iio_device_register(dev, indio_dev);
}