diff options
Diffstat (limited to 'drivers/regulator/db8500-prcmu.c')
| -rw-r--r-- | drivers/regulator/db8500-prcmu.c | 22 | 
1 files changed, 3 insertions, 19 deletions
diff --git a/drivers/regulator/db8500-prcmu.c b/drivers/regulator/db8500-prcmu.c index a53c11a529d..617c1adca81 100644 --- a/drivers/regulator/db8500-prcmu.c +++ b/drivers/regulator/db8500-prcmu.c @@ -263,6 +263,8 @@ dbx500_regulator_info[DB8500_NUM_REGULATORS] = {  			.ops	= &db8500_regulator_ops,  			.type	= REGULATOR_VOLTAGE,  			.owner	= THIS_MODULE, +			.fixed_uV = 1800000, +			.n_voltages = 1,  		},  		.exclude_from_power_state = true,  	}, @@ -431,17 +433,11 @@ static int db8500_regulator_register(struct platform_device *pdev,  	config.of_node = np;  	/* register with the regulator framework */ -	info->rdev = regulator_register(&info->desc, &config); +	info->rdev = devm_regulator_register(&pdev->dev, &info->desc, &config);  	if (IS_ERR(info->rdev)) {  		err = PTR_ERR(info->rdev);  		dev_err(&pdev->dev, "failed to register %s: err %i\n",  			info->desc.name, err); - -		/* if failing, unregister all earlier regulators */ -		while (--id >= 0) { -			info = &dbx500_regulator_info[id]; -			regulator_unregister(info->rdev); -		}  		return err;  	} @@ -530,20 +526,8 @@ static int db8500_regulator_probe(struct platform_device *pdev)  static int db8500_regulator_remove(struct platform_device *pdev)  { -	int i; -  	ux500_regulator_debug_exit(); -	for (i = 0; i < ARRAY_SIZE(dbx500_regulator_info); i++) { -		struct dbx500_regulator_info *info; -		info = &dbx500_regulator_info[i]; - -		dev_vdbg(rdev_get_dev(info->rdev), -			"regulator-%s-remove\n", info->desc.name); - -		regulator_unregister(info->rdev); -	} -  	return 0;  }  | 
