if (pdata) {
act8931->num_regulators = ACT8931_NUM_REGULATORS;
- act8931->rdev = kcalloc(ACT8931_NUM_REGULATORS,
- sizeof(struct regulator_dev *),
- GFP_KERNEL);
+ act8931->rdev = devm_kcalloc(act8931->dev,
+ ACT8931_NUM_REGULATORS,
+ sizeof(struct regulator_dev *),
+ GFP_KERNEL);
if (!act8931->rdev)
return -ENOMEM;
for (i = 0; i < act8931->num_regulators; i++)
if (act8931->rdev[i])
regulator_unregister(act8931->rdev[i]);
- kfree(act8931->rdev);
i2c_set_clientdata(i2c, NULL);
- kfree(act8931);
return 0;
}