diff options
Diffstat (limited to 'drivers/regulator/lp872x.c')
| -rw-r--r-- | drivers/regulator/lp872x.c | 37 | 
1 files changed, 5 insertions, 32 deletions
diff --git a/drivers/regulator/lp872x.c b/drivers/regulator/lp872x.c index 2b84b727a3c..2e022aabd95 100644 --- a/drivers/regulator/lp872x.c +++ b/drivers/regulator/lp872x.c @@ -211,7 +211,7 @@ static int lp872x_get_timestep_usec(struct lp872x *lp)  	ret = lp872x_read_byte(lp, LP872X_GENERAL_CFG, &val);  	if (ret) -		return -EINVAL; +		return ret;  	val = (val & mask) >> shift;  	if (val >= size) @@ -229,7 +229,7 @@ static int lp872x_regulator_enable_time(struct regulator_dev *rdev)  	u8 addr, val;  	if (time_step_us < 0) -		return -EINVAL; +		return time_step_us;  	switch (rid) {  	case LP8720_ID_LDO1 ... LP8720_ID_BUCK: @@ -785,7 +785,7 @@ static int lp872x_regulator_register(struct lp872x *lp)  	struct regulator_desc *desc;  	struct regulator_config cfg = { };  	struct regulator_dev *rdev; -	int i, ret; +	int i;  	for (i = 0; i < lp->num_regulators; i++) {  		desc = (lp->chipid == LP8720) ? &lp8720_regulator_desc[i] : @@ -796,34 +796,16 @@ static int lp872x_regulator_register(struct lp872x *lp)  		cfg.driver_data = lp;  		cfg.regmap = lp->regmap; -		rdev = regulator_register(desc, &cfg); +		rdev = devm_regulator_register(lp->dev, desc, &cfg);  		if (IS_ERR(rdev)) {  			dev_err(lp->dev, "regulator register err"); -			ret =  PTR_ERR(rdev); -			goto err; +			return PTR_ERR(rdev);  		}  		*(lp->regulators + i) = rdev;  	}  	return 0; -err: -	while (--i >= 0) { -		rdev = *(lp->regulators + i); -		regulator_unregister(rdev); -	} -	return ret; -} - -static void lp872x_regulator_unregister(struct lp872x *lp) -{ -	struct regulator_dev *rdev; -	int i; - -	for (i = 0; i < lp->num_regulators; i++) { -		rdev = *(lp->regulators + i); -		regulator_unregister(rdev); -	}  }  static const struct regmap_config lp872x_regmap_config = { @@ -979,14 +961,6 @@ err_dev:  	return ret;  } -static int lp872x_remove(struct i2c_client *cl) -{ -	struct lp872x *lp = i2c_get_clientdata(cl); - -	lp872x_regulator_unregister(lp); -	return 0; -} -  static const struct of_device_id lp872x_dt_ids[] = {  	{ .compatible = "ti,lp8720", },  	{ .compatible = "ti,lp8725", }, @@ -1008,7 +982,6 @@ static struct i2c_driver lp872x_driver = {  		.of_match_table = of_match_ptr(lp872x_dt_ids),  	},  	.probe = lp872x_probe, -	.remove = lp872x_remove,  	.id_table = lp872x_ids,  };  | 
