Re: [PATCH v1 2/2] hwmon: pmbus: Add ltc4286 driver

From: Guenter Roeck
Date: Tue Apr 25 2023 - 10:09:29 EST


On 4/25/23 06:45, Andi Shyti wrote:
Hi Delphine,

On top of Guenter's comments,

[...]

+config SENSORS_LTC4286
+ bool "Linear Technologies LTC4286"
+ help
+ If you say yes here you get hardware monitoring support for Linear
+ Technology LTC4286.

could you add a couple of words more here?

[...]

+static int ltc4286_probe(struct i2c_client *client,
+ const struct i2c_device_id *id)
+{
+ int ret;
+ u8 block_buffer[I2C_SMBUS_BLOCK_MAX + 1];
+ struct device *dev = &client->dev;
+ struct pmbus_driver_info *info;
+ u32 rsense;
+
+ ret = i2c_smbus_read_block_data(client, PMBUS_MFR_ID, block_buffer);
+ if (ret < 0) {
+ dev_err(&client->dev, "failed to read manufacturer id\n");

you can use dev_err_probe() here:

return dev_err_probe(&client->dev, err, "failed to read manufacturer id\n");

+ return ret;
+ }
+
+ /* Refer to ltc4286 datasheet page 20
+ * the default manufacturer id is LTC
+ */
+ if (ret != LTC4286_MFR_ID_SIZE ||
+ strncmp(block_buffer, "LTC", LTC4286_MFR_ID_SIZE)) {
+ dev_err(&client->dev, "unsupported manufacturer id\n");
+ return -ENODEV;
+ }
+
+ ret = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, block_buffer);
+ if (ret < 0) {
+ dev_err(&client->dev, "failed to read manufacturer model\n");
+ return ret;
+ }

Is this read really needed?


It only makes sense if the returned string is actually validated.
Otherwise no.

Guenter