mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-06 10:57:46 +00:00
iio: accel: msa311: 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> Cc: Dmitry Rokosov <DDRokosov@sberdevices.ru> Reviewed-by: Dmitry Rokosov <ddrokosov@sberdevices.ru> Reviewed-by: Nuno Sá <nuno.sa@analog.com> Link: https://lore.kernel.org/r/20221016163409.320197-6-jic23@kernel.org
This commit is contained in:
parent
1fa4ff1f24
commit
eefa008b16
1 changed files with 2 additions and 19 deletions
|
@ -351,7 +351,6 @@ static const struct regmap_config msa311_regmap_config = {
|
||||||
* @chip_name: Chip name in the format "msa311-%02x" % partid
|
* @chip_name: Chip name in the format "msa311-%02x" % partid
|
||||||
* @new_data_trig: Optional NEW_DATA interrupt driven trigger used
|
* @new_data_trig: Optional NEW_DATA interrupt driven trigger used
|
||||||
* to notify external consumers a new sample is ready
|
* to notify external consumers a new sample is ready
|
||||||
* @vdd: Optional external voltage regulator for the device power supply
|
|
||||||
*/
|
*/
|
||||||
struct msa311_priv {
|
struct msa311_priv {
|
||||||
struct regmap *regs;
|
struct regmap *regs;
|
||||||
|
@ -362,7 +361,6 @@ struct msa311_priv {
|
||||||
char *chip_name;
|
char *chip_name;
|
||||||
|
|
||||||
struct iio_trigger *new_data_trig;
|
struct iio_trigger *new_data_trig;
|
||||||
struct regulator *vdd;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
enum msa311_si {
|
enum msa311_si {
|
||||||
|
@ -1146,11 +1144,6 @@ static void msa311_powerdown(void *msa311)
|
||||||
msa311_set_pwr_mode(msa311, MSA311_PWR_MODE_SUSPEND);
|
msa311_set_pwr_mode(msa311, MSA311_PWR_MODE_SUSPEND);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void msa311_vdd_disable(void *vdd)
|
|
||||||
{
|
|
||||||
regulator_disable(vdd);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int msa311_probe(struct i2c_client *i2c)
|
static int msa311_probe(struct i2c_client *i2c)
|
||||||
{
|
{
|
||||||
struct device *dev = &i2c->dev;
|
struct device *dev = &i2c->dev;
|
||||||
|
@ -1173,19 +1166,9 @@ static int msa311_probe(struct i2c_client *i2c)
|
||||||
|
|
||||||
mutex_init(&msa311->lock);
|
mutex_init(&msa311->lock);
|
||||||
|
|
||||||
msa311->vdd = devm_regulator_get(dev, "vdd");
|
err = devm_regulator_get_enable(dev, "vdd");
|
||||||
if (IS_ERR(msa311->vdd))
|
|
||||||
return dev_err_probe(dev, PTR_ERR(msa311->vdd),
|
|
||||||
"can't get vdd supply\n");
|
|
||||||
|
|
||||||
err = regulator_enable(msa311->vdd);
|
|
||||||
if (err)
|
if (err)
|
||||||
return dev_err_probe(dev, err, "can't enable vdd supply\n");
|
return dev_err_probe(dev, err, "can't get vdd supply\n");
|
||||||
|
|
||||||
err = devm_add_action_or_reset(dev, msa311_vdd_disable, msa311->vdd);
|
|
||||||
if (err)
|
|
||||||
return dev_err_probe(dev, err,
|
|
||||||
"can't add vdd disable action\n");
|
|
||||||
|
|
||||||
err = msa311_check_partid(msa311);
|
err = msa311_check_partid(msa311);
|
||||||
if (err)
|
if (err)
|
||||||
|
|
Loading…
Reference in a new issue