Commit ffe36eb5 authored by Naresh Solanki's avatar Naresh Solanki Committed by Guenter Roeck
Browse files

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: default avatarNaresh Solanki <Naresh.Solanki@9elements.com>
Link: https://lore.kernel.org/r/20230328150335.90238-1-Naresh.Solanki@9elements.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 7f2958e8
Loading
Loading
Loading
Loading
+10 −5
Original line number Diff line number Diff line
@@ -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],
		data->rdevs[i] = devm_regulator_register(dev, &info->reg_desc[i],
							 &config);
		if (IS_ERR(rdev))
			return dev_err_probe(dev, PTR_ERR(rdev),
		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);
	}