hwmon: (ina3221) Use per-client debugfs entry
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Sat, 25 Jan 2025 12:39:41 +0000 (13:39 +0100)
committerGuenter Roeck <linux@roeck-us.net>
Mon, 3 Feb 2025 01:34:06 +0000 (17:34 -0800)
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-9-wsa+renesas@sang-engineering.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
drivers/hwmon/ina3221.c

index 1bf479a0f7939aaadb846c56c770f0e0c15049df..ce0e3f214f5b9697f5cd066d66d2b5834128b7be 100644 (file)
@@ -116,7 +116,6 @@ struct ina3221_input {
  * @fields: Register fields of the device
  * @inputs: Array of channel input source specific structures
  * @lock: mutex lock to serialize sysfs attribute accesses
- * @debugfs: Pointer to debugfs entry for device
  * @reg_config: Register value of INA3221_CONFIG
  * @summation_shunt_resistor: equivalent shunt resistor value for summation
  * @summation_channel_control: Value written to SCC field in INA3221_MASK_ENABLE
@@ -128,7 +127,6 @@ struct ina3221_data {
        struct regmap_field *fields[F_MAX_FIELDS];
        struct ina3221_input inputs[INA3221_NUM_CHANNELS];
        struct mutex lock;
-       struct dentry *debugfs;
        u32 reg_config;
        int summation_shunt_resistor;
        u32 summation_channel_control;
@@ -913,12 +911,9 @@ static int ina3221_probe(struct i2c_client *client)
                goto fail;
        }
 
-       scnprintf(name, sizeof(name), "%s-%s", INA3221_DRIVER_NAME, dev_name(dev));
-       ina->debugfs = debugfs_create_dir(name, NULL);
-
        for (i = 0; i < INA3221_NUM_CHANNELS; i++) {
                scnprintf(name, sizeof(name), "in%d_summation_disable", i);
-               debugfs_create_bool(name, 0400, ina->debugfs,
+               debugfs_create_bool(name, 0400, client->debugfs,
                                    &ina->inputs[i].summation_disable);
        }
 
@@ -940,8 +935,6 @@ static void ina3221_remove(struct i2c_client *client)
        struct ina3221_data *ina = dev_get_drvdata(&client->dev);
        int i;
 
-       debugfs_remove_recursive(ina->debugfs);
-
        pm_runtime_disable(ina->pm_dev);
        pm_runtime_set_suspended(ina->pm_dev);