On 7/10/24 01:35, Uwe Kleine-König wrote:
The devices supported by this driver report the model name in their
register space. The way this is evaluated allows longer strings than the
driver's model list. Document this behaviour in a code comment to lessen
the surprise for the next reader.
Additionally emit the reported model name in case of a mismatch.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@xxxxxxxxxxxx>
---
drivers/hwmon/pmbus/ltc4286.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/hwmon/pmbus/ltc4286.c b/drivers/hwmon/pmbus/ltc4286.c
index 9e7ceeb7e789..2e5532300eff 100644
--- a/drivers/hwmon/pmbus/ltc4286.c
+++ b/drivers/hwmon/pmbus/ltc4286.c
@@ -95,13 +95,19 @@ static int ltc4286_probe(struct i2c_client *client)
"Failed to read manufacturer model\n");
}
- for (mid = ltc4286_id; mid->name[0]; mid++) {
+ for (mid = ltc4286_id; mid->name[0]; mid++)
+ /*
+ * Note that by limiting the comparison to strlen(mid->name)
+ * chars, the device reporting "lTc4286chocolade" is accepted,
+ * too.
+ */
This is misleading; the desired match is LTC4286 and all its variants (LTC4286[A-Z] and
whatever else the vendor can come up with), i.e., it is supposed to include all device
variants, and ignoring case since it is irrelevant. Referring to the odd string just
makes that look unnecessarily bad. I am not going to apply this patch, sorry.
Guenter