hwmon: (pmbus/core) Add rdev in pmbus_data struct
Add regulator device in pmbus_data & initialize the same during PMBus regulator register. Signed-off-by: Naresh Solanki <Naresh.Solanki@9elements.com> Link: https://lore.kernel.org/r/20230328150335.90238-1-Naresh.Solanki@9elements.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
7f2958e845
commit
ffe36eb557
@ -81,6 +81,7 @@ struct pmbus_label {
|
||||
struct pmbus_data {
|
||||
struct device *dev;
|
||||
struct device *hwmon_dev;
|
||||
struct regulator_dev **rdevs;
|
||||
|
||||
u32 flags; /* from platform data */
|
||||
|
||||
@ -3109,9 +3110,13 @@ static int pmbus_regulator_register(struct pmbus_data *data)
|
||||
struct device *dev = data->dev;
|
||||
const struct pmbus_driver_info *info = data->info;
|
||||
const struct pmbus_platform_data *pdata = dev_get_platdata(dev);
|
||||
struct regulator_dev *rdev;
|
||||
int i;
|
||||
|
||||
data->rdevs = devm_kzalloc(dev, sizeof(struct regulator_dev *) * info->num_regulators,
|
||||
GFP_KERNEL);
|
||||
if (!data->rdevs)
|
||||
return -ENOMEM;
|
||||
|
||||
for (i = 0; i < info->num_regulators; i++) {
|
||||
struct regulator_config config = { };
|
||||
|
||||
@ -3121,10 +3126,10 @@ static int pmbus_regulator_register(struct pmbus_data *data)
|
||||
if (pdata && pdata->reg_init_data)
|
||||
config.init_data = &pdata->reg_init_data[i];
|
||||
|
||||
rdev = devm_regulator_register(dev, &info->reg_desc[i],
|
||||
&config);
|
||||
if (IS_ERR(rdev))
|
||||
return dev_err_probe(dev, PTR_ERR(rdev),
|
||||
data->rdevs[i] = devm_regulator_register(dev, &info->reg_desc[i],
|
||||
&config);
|
||||
if (IS_ERR(data->rdevs[i]))
|
||||
return dev_err_probe(dev, PTR_ERR(data->rdevs[i]),
|
||||
"Failed to register %s regulator\n",
|
||||
info->reg_desc[i].name);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user