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.