Re: [PATCH 2/2] hwmon: (pmbus/adp1050): add support for adp1051, adp1055 and ltp8800

From: Andy Shevchenko
Date: Wed Nov 20 2024 - 08:53:25 EST


On Wed, Nov 20, 2024 at 11:58:26AM +0800, Cedric Encarnacion wrote:

I would start the commit message with the plain English sentence that describes
the list given below. E.g., "Introduce support for the following components:".

> ADP1051: 6 PWM for I/O Voltage, I/O Current, Temperature
> ADP1055: 6 PWM for I/O Voltage, I/O Current, Power, Temperature
> LTP8800-1A/-2/-4A: 150A/135A/200A DC/DC µModule Regulator
>
> The LTP8800 is a family of step-down μModule regulators that provides
> microprocessor core voltage from 54V power distribution architecture.
> LTP8800 features telemetry monitoring of input/output voltage, input
> current, output power, and temperature over PMBus.

...

> - Radu Sabau <radu.sabau@xxxxxxxxxx>
>
> -
> Description
> -----------

Stray change.

...

> -This driver supprts hardware monitoring for Analog Devices ADP1050 Digital
> -Controller for Isolated Power Supply with PMBus interface.
> +This driver supports hardware monitoring for Analog Devices ADP1050, ADP1051, and
> +ADP1055 Digital Controller for Isolated Power Supply with PMBus interface.
>
> -The ADP1050 is an advanced digital controller with a PMBus™
> +The ADP105X is an advanced digital controller with a PMBus™

Can we use small x to make it more visible that it's _not_ the part of the
name, but a glob-like placeholder?

> interface targeting high density, high efficiency dc-to-dc power
> conversion used to monitor system temperatures, voltages and currents.

...

> +#if IS_ENABLED(CONFIG_SENSORS_ADP1050_REGULATOR)

Why? Is the data type undefined without this?

> +static const struct regulator_desc adp1050_reg_desc[] = {
> + PMBUS_REGULATOR_ONE("vout"),
> +};
> +#endif /* CONFIG_SENSORS_ADP1050_REGULATOR */

Note, this can be dropped anyway in order to use PTR_IF() below, if required.

...

> +#if IS_ENABLED(CONFIG_SENSORS_ADP1050_REGULATOR)
> + .num_regulators = 1,
> + .reg_desc = adp1050_reg_desc,
> +#endif

Ditto, are the fields not defined without the symbol?

...

> static int adp1050_probe(struct i2c_client *client)
> {
> - return pmbus_do_probe(client, &adp1050_info);
> + const struct pmbus_driver_info *info;
> +
> + info = device_get_match_data(&client->dev);

Why not i2c_get_match_data()?

> + if (!info)
> + return -ENODEV;
> +
> + return pmbus_do_probe(client, info);
> }

...

> static const struct i2c_device_id adp1050_id[] = {
> - {"adp1050"},
> + { .name = "adp1050", .driver_data = (kernel_ulong_t)&adp1050_info},

Please, split this patch to at least two:
1) Introduce chip_info;
2) add new devices.

> + { .name = "adp1051", .driver_data = (kernel_ulong_t)&adp1051_info},
> + { .name = "adp1055", .driver_data = (kernel_ulong_t)&adp1055_info},
> + { .name = "ltp8800", .driver_data = (kernel_ulong_t)&ltp8800_info},
> {}
> };

--
With Best Regards,
Andy Shevchenko