hwmon: (ltc4282) Use per-client debugfs entry

The I2C core now offers a debugfs-directory per client. Use it and
remove the custom handling.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20250125123941.36729-10-wsa+renesas@sang-engineering.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Wolfram Sang
2025-01-25 13:39:42 +01:00
committed by Guenter Roeck
parent 82dda5cb88
commit 2e522c2933

View File

@@ -1674,47 +1674,19 @@ static int ltc4282_show_power1_bad_fault_log(void *arg, u64 *val)
DEFINE_DEBUGFS_ATTRIBUTE(ltc4282_power1_bad_fault_log,
ltc4282_show_power1_bad_fault_log, NULL, "%llu\n");
static void ltc4282_debugfs_remove(void *dir)
static void ltc4282_debugfs_init(struct ltc4282_state *st, struct i2c_client *i2c)
{
debugfs_remove_recursive(dir);
}
static void ltc4282_debugfs_init(struct ltc4282_state *st,
struct i2c_client *i2c,
const struct device *hwmon)
{
const char *debugfs_name;
struct dentry *dentry;
int ret;
if (!IS_ENABLED(CONFIG_DEBUG_FS))
return;
debugfs_name = devm_kasprintf(&i2c->dev, GFP_KERNEL, "ltc4282-%s",
dev_name(hwmon));
if (!debugfs_name)
return;
dentry = debugfs_create_dir(debugfs_name, NULL);
if (IS_ERR(dentry))
return;
ret = devm_add_action_or_reset(&i2c->dev, ltc4282_debugfs_remove,
dentry);
if (ret)
return;
debugfs_create_file_unsafe("power1_bad_fault_log", 0400, dentry, st,
debugfs_create_file_unsafe("power1_bad_fault_log", 0400, i2c->debugfs, st,
&ltc4282_power1_bad_fault_log);
debugfs_create_file_unsafe("in0_fet_short_fault_log", 0400, dentry, st,
debugfs_create_file_unsafe("in0_fet_short_fault_log", 0400, i2c->debugfs, st,
&ltc4282_fet_short_fault_log);
debugfs_create_file_unsafe("in0_fet_bad_fault_log", 0400, dentry, st,
debugfs_create_file_unsafe("in0_fet_bad_fault_log", 0400, i2c->debugfs, st,
&ltc4282_fet_bad_fault_log);
debugfs_create_file_unsafe("in1_crit_fault_log", 0400, dentry, st,
debugfs_create_file_unsafe("in1_crit_fault_log", 0400, i2c->debugfs, st,
&ltc4282_in1_crit_fault_log);
debugfs_create_file_unsafe("in1_lcrit_fault_log", 0400, dentry, st,
debugfs_create_file_unsafe("in1_lcrit_fault_log", 0400, i2c->debugfs, st,
&ltc4282_in1_lcrit_fault_log);
debugfs_create_file_unsafe("curr1_crit_fault_log", 0400, dentry, st,
debugfs_create_file_unsafe("curr1_crit_fault_log", 0400, i2c->debugfs, st,
&ltc4282_curr1_crit_fault_log);
}
@@ -1757,7 +1729,7 @@ static int ltc4282_probe(struct i2c_client *i2c)
if (IS_ERR(hwmon))
return PTR_ERR(hwmon);
ltc4282_debugfs_init(st, i2c, hwmon);
ltc4282_debugfs_init(st, i2c);
return 0;
}