]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
hwmon: (pmbus/core) allow drivers to override WRITE_PROTECT
authorJerome Brunet <jbrunet@baylibre.com>
Tue, 5 Nov 2024 17:58:39 +0000 (18:58 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Tue, 12 Nov 2024 21:54:39 +0000 (13:54 -0800)
Use _pmbus_read_byte_data() rather than calling smbus directly to check
the write protection status. This give a chance to device implementing
write protection differently to report back on the actual write protection
status.

Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Message-ID: <20241105-tps25990-v4-2-0e312ac70b62@baylibre.com>
[groeck: Fix page parameter of _pmbus_read_byte_data()]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/pmbus/pmbus_core.c

index ce7fd4ca9d89b0f0a02e6c99db391a7cfca924a8..7f88b5d0804692aac59710f402280c45831f2593 100644 (file)
@@ -2719,9 +2719,7 @@ static int pmbus_init_common(struct i2c_client *client, struct pmbus_data *data,
         * limit registers need to be disabled.
         */
        if (!(data->flags & PMBUS_NO_WRITE_PROTECT)) {
-               pmbus_wait(client);
-               ret = i2c_smbus_read_byte_data(client, PMBUS_WRITE_PROTECT);
-               pmbus_update_ts(client, false);
+               ret = _pmbus_read_byte_data(client, -1, PMBUS_WRITE_PROTECT);
 
                if (ret > 0 && (ret & PB_WP_ANY))
                        data->flags |= PMBUS_WRITE_PROTECTED | PMBUS_SKIP_STATUS_CHECK;