> -----Original Message----- > From: Andi Shyti <andi.shyti@xxxxxxxxxx> > Sent: Tuesday, April 25, 2023 9:46 PM > To: Delphine_CC_Chiu/WYHQ/Wiwynn <Delphine_CC_Chiu@xxxxxxxxxx> > Cc: patrick@xxxxxxxxx; Guenter Roeck <linux@xxxxxxxxxxxx>; Jean Delvare > <jdelvare@xxxxxxxx>; Rob Herring <robh+dt@xxxxxxxxxx>; Krzysztof Kozlowski > <krzysztof.kozlowski+dt@xxxxxxxxxx>; linux-i2c@xxxxxxxxxxxxxxx; > linux-hwmon@xxxxxxxxxxxxxxx; devicetree@xxxxxxxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx > Subject: Re: [PATCH v1 2/2] hwmon: pmbus: Add ltc4286 driver > > Security Reminder: Please be aware that this email is sent by an external > sender. > > 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? We will revise as below config SENSORS_LTC4286 bool "Analog Devices LTC4286" help LTC4286 is an integrated solution for hot swap applications that allows a board to be safely inserted and removed from a live backplane. This chip could be used to monitor voltage, current, ...etc. If you say yes here you get hardware monitoring support for Analog Devices LTC4286. > > [...] > > > +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: We will revise as below dev_err_probe(&client->dev, err, "failed to read manufacturer id\n"); > > 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? We use this to check manufacturer model. And we will add comparison here. for (mid = ltc4286_id; mid->name[0]; mid++) { if (!strncasecmp(mid->name, block_buffer, strlen(mid->name))) break; } > > Andi > > [...]