[PATCH v2 8/8] hwmon: (pmbus/core) Report content of CAPABILITY register in debugfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
v2: Fix number of debugfs files

 drivers/hwmon/pmbus/pmbus_core.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/hwmon/pmbus/pmbus_core.c b/drivers/hwmon/pmbus/pmbus_core.c
index f0f8b7ed5416..8625de9caff7 100644
--- a/drivers/hwmon/pmbus/pmbus_core.c
+++ b/drivers/hwmon/pmbus/pmbus_core.c
@@ -3569,12 +3569,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)
@@ -3588,6 +3588,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;
-- 
2.45.2





[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux