Hi Guenter, On Fri, 28 Jul 2023 at 15:30, Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > > On 7/28/23 01:25, Naresh Solanki wrote: > > From: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx> > > > > MPS returns PGOOD instead of PB_STATUS_POWER_GOOD_N. > > Fix that in the read_word_data hook. > > > Datasheets are not public, so I can not verify, but the code below > only handles MP2973 and MP2971. What about MP2975 ? I dont have MP2975 to even verify. I'm not sure if its applicable. > > Either case, this appears to affect most Monolithic chips, but > not all of them. Please limit the statement to known to be affected > chips. Yes. With what we observed, this affects mp2973 & mp2971. Will update accordingly. > > > Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx> > > Signed-off-by: Naresh Solanki <Naresh.Solanki@xxxxxxxxxxxxx> > > --- > > drivers/hwmon/pmbus/mp2975.c | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/drivers/hwmon/pmbus/mp2975.c b/drivers/hwmon/pmbus/mp2975.c > > index 28f33f4618fa..410b6eae6d02 100644 > > --- a/drivers/hwmon/pmbus/mp2975.c > > +++ b/drivers/hwmon/pmbus/mp2975.c > > @@ -297,6 +297,10 @@ static int mp2973_read_word_data(struct i2c_client *client, int page, > > int ret; > > > > switch (reg) { > > + case PMBUS_STATUS_WORD: > > + ret = pmbus_read_word_data(client, page, phase, reg); > > if (ret < 0) > return ret; > > Please add a comment explaining what is going on. Sure. > > > + ret ^= PB_STATUS_POWER_GOOD_N; > > + break; > > case PMBUS_OT_FAULT_LIMIT: > > ret = mp2975_read_word_helper(client, page, phase, reg, > > GENMASK(7, 0)); > > > > base-commit: a4bb1ce5b9e3ca403c04e20ebeae77fd6447cb11 >