hwmon: (pmbus/mp2975) Move PGOOD fix
authorNaresh Solanki <naresh.solanki@9elements.com>
Fri, 27 Oct 2023 10:33:52 +0000 (10:33 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:08 +0000 (11:59 +0100)
[ Upstream commit 9da2901c47332b030ea4d2a2302bc7c0b83fc67c ]

The PGOOD fix was intended for MP2973 & MP2971 & not for MP2975.

Fixes: acda945afb46 ("hwmon: (pmbus/mp2975) Fix PGOOD in READ_STATUS_WORD")
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Link: https://lore.kernel.org/r/20231027103352.918895-1-naresh.solanki@9elements.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hwmon/pmbus/mp2975.c

index 26ba506..b9bb469 100644 (file)
@@ -297,6 +297,11 @@ static int mp2973_read_word_data(struct i2c_client *client, int page,
        int ret;
 
        switch (reg) {
+       case PMBUS_STATUS_WORD:
+               /* MP2973 & MP2971 return PGOOD instead of PB_STATUS_POWER_GOOD_N. */
+               ret = pmbus_read_word_data(client, page, phase, reg);
+               ret ^= PB_STATUS_POWER_GOOD_N;
+               break;
        case PMBUS_OT_FAULT_LIMIT:
                ret = mp2975_read_word_helper(client, page, phase, reg,
                                              GENMASK(7, 0));
@@ -380,11 +385,6 @@ static int mp2975_read_word_data(struct i2c_client *client, int page,
        int ret;
 
        switch (reg) {
-       case PMBUS_STATUS_WORD:
-               /* MP2973 & MP2971 return PGOOD instead of PB_STATUS_POWER_GOOD_N. */
-               ret = pmbus_read_word_data(client, page, phase, reg);
-               ret ^= PB_STATUS_POWER_GOOD_N;
-               break;
        case PMBUS_OT_FAULT_LIMIT:
                ret = mp2975_read_word_helper(client, page, phase, reg,
                                              GENMASK(7, 0));