From: Guenter Roeck Date: Sat, 1 Feb 2025 14:42:29 +0000 (-0800) Subject: hwmon: (pmbus/core) Report content of CAPABILITY register in debugfs X-Git-Tag: io_uring-6.15-20250403~102^2~20 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=c90a00368d90b4ac46712b870debfff6ae50bb87;p=linux-block.git hwmon: (pmbus/core) Report content of CAPABILITY register in debugfs Report the value of the CAPABILITY register in debugfs if supported. Only check if the register is supported if PMBUS_NO_CAPABILITY is not set. Reviewed-by: Tzung-Bi Shih Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c index f8965829fe17..cfeba2e4c5c3 100644 --- a/drivers/hwmon/pmbus/pmbus_core.c +++ b/drivers/hwmon/pmbus/pmbus_core.c @@ -3568,12 +3568,12 @@ static void pmbus_init_debugfs(struct i2c_client *client, /* * Allocate the max possible entries we need. * device specific: - * ARRAY_SIZE(pmbus_debugfs_block_data) + 1 + * ARRAY_SIZE(pmbus_debugfs_block_data) + 2 * page specific: * ARRAY_SIZE(pmbus_debugfs_status_data) + 1 */ entries = devm_kcalloc(data->dev, - ARRAY_SIZE(pmbus_debugfs_block_data) + 1 + + ARRAY_SIZE(pmbus_debugfs_block_data) + 2 + data->info->pages * (ARRAY_SIZE(pmbus_debugfs_status_data) + 1), sizeof(*entries), GFP_KERNEL); if (!entries) @@ -3587,6 +3587,15 @@ static void pmbus_init_debugfs(struct i2c_client *client, * assume that values of the following registers are the same for all * pages and report values only for page 0. */ + if (!(data->flags & PMBUS_NO_CAPABILITY) && + pmbus_check_byte_register(client, 0, PMBUS_CAPABILITY)) { + entries[idx].client = client; + entries[idx].page = 0; + entries[idx].reg = PMBUS_CAPABILITY; + debugfs_create_file("capability", 0444, debugfs, + &entries[idx++], + &pmbus_debugfs_ops); + } if (pmbus_check_byte_register(client, 0, PMBUS_REVISION)) { entries[idx].client = client; entries[idx].page = 0;