mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 20:54:03 +02:00
hwmon: (pmbus/tps53679) Select page 0 for single-page TPS53676
tps53676_identify() derives the number of PMBus pages but does not
ensure that page 0 is selected for single-page configurations.
pmbus_set_page() does not update the PAGE register when info->pages is
1, so if boot firmware leaves PAGE set to another value subsequent
register accesses may target the wrong page.
For single-page devices, select page 0 explicitly.
Fixes: cb3d37b590 ("hwmon: (pmbus/tps53679) Add support for TI TPS53676")
Cc: stable@vger.kernel.org
Signed-off-by: Sanman Pradhan <psanman@juniper.net>
Link: https://patch.msgid.link/20260916235406.681131-2-sanman.pradhan@hpe.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
parent
1d12fb94ac
commit
089070b51c
|
|
@ -200,6 +200,15 @@ static int tps53676_identify(struct i2c_client *client,
|
|||
if (phases_b > 0) {
|
||||
info->pages = 2;
|
||||
info->phases[1] = phases_b;
|
||||
} else {
|
||||
/*
|
||||
* pmbus_set_page() does not update the PAGE register on
|
||||
* single-page devices, so select page 0 explicitly in case
|
||||
* the boot firmware left the device on another page.
|
||||
*/
|
||||
ret = i2c_smbus_write_byte_data(client, PMBUS_PAGE, 0);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user