On Mon, Feb 01, 2021 at 03:22:17PM -0600, Matthew Barth wrote: > There was an issue in how the tach feedbacks of dual rotor fans were > reported during any change in fan speeds with revision "A" of the > MAX31785. When the fan speeds would transition to a new target speed, > the rotor not wired to the TACH input when TACHSEL = 0 would report a > speed of 0 until the new target was reached. This has been fixed, > resulting in a revision "B" update where the MFR_REVISION of "B" is > 0x3061. > > Signed-off-by: Matthew Barth <msbarth@xxxxxxxxxxxxx> Applied. Thanks, Guenter > --- > ChangeLog v1->v2: > - Check for expected "max31785b" when MAX31785 single tach only found > --- > drivers/hwmon/pmbus/max31785.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/drivers/hwmon/pmbus/max31785.c b/drivers/hwmon/pmbus/max31785.c > index e5a9f4019cd5..30954c89e312 100644 > --- a/drivers/hwmon/pmbus/max31785.c > +++ b/drivers/hwmon/pmbus/max31785.c > @@ -17,6 +17,7 @@ enum max31785_regs { > > #define MAX31785 0x3030 > #define MAX31785A 0x3040 > +#define MAX31785B 0x3061 > > #define MFR_FAN_CONFIG_DUAL_TACH BIT(12) > > @@ -350,12 +351,14 @@ static int max31785_probe(struct i2c_client *client) > if (ret < 0) > return ret; > > - if (ret == MAX31785A) { > + if (ret == MAX31785A || ret == MAX31785B) { > dual_tach = true; > } else if (ret == MAX31785) { > - if (!strcmp("max31785a", client->name)) > - dev_warn(dev, "Expected max3175a, found max31785: cannot provide secondary tachometer readings\n"); > + if (!strcmp("max31785a", client->name) || > + !strcmp("max31785b", client->name)) > + dev_warn(dev, "Expected max31785a/b, found max31785: cannot provide secondary tachometer readings\n"); > } else { > + dev_err(dev, "Unrecognized MAX31785 revision: %x\n", ret); > return -ENODEV; > } > > @@ -371,6 +374,7 @@ static int max31785_probe(struct i2c_client *client) > static const struct i2c_device_id max31785_id[] = { > { "max31785", 0 }, > { "max31785a", 0 }, > + { "max31785b", 0 }, > { }, > }; > > @@ -379,6 +383,7 @@ MODULE_DEVICE_TABLE(i2c, max31785_id); > static const struct of_device_id max31785_of_match[] = { > { .compatible = "maxim,max31785" }, > { .compatible = "maxim,max31785a" }, > + { .compatible = "maxim,max31785b" }, > { }, > }; >