diff options
| author | Wolfram Sang <wsa+renesas@sang-engineering.com> | 2025-03-05 13:30:12 +0100 | 
|---|---|---|
| committer | Guenter Roeck <linux@roeck-us.net> | 2025-03-05 21:17:56 -0800 | 
| commit | ee65d9e63046de1de2a5383ba6f998634c86c42c (patch) | |
| tree | db6494d21703ddf37641e0a13355554a8c6bb226 /drivers | |
| parent | 232427772fc123942d110c18269cfbdf40edae18 (diff) | |
hwmon: (pt5161l) 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/20250305123149.16990-2-wsa+renesas@sang-engineering.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/hwmon/pt5161l.c | 46 | 
1 files changed, 9 insertions, 37 deletions
| diff --git a/drivers/hwmon/pt5161l.c b/drivers/hwmon/pt5161l.c index a9f0b23f9e76..20e3cfa625f1 100644 --- a/drivers/hwmon/pt5161l.c +++ b/drivers/hwmon/pt5161l.c @@ -63,7 +63,6 @@ struct pt5161l_fw_ver {  /* Each client has this additional data */  struct pt5161l_data {  	struct i2c_client *client; -	struct dentry *debugfs;  	struct pt5161l_fw_ver fw_ver;  	struct mutex lock; /* for atomic I2C transactions */  	bool init_done; @@ -72,8 +71,6 @@ struct pt5161l_data {  	bool mm_wide_reg_access; /* MM assisted wide register access */  }; -static struct dentry *pt5161l_debugfs_dir; -  /*   * Write multiple data bytes to Aries over I2C   */ @@ -568,21 +565,16 @@ static const struct file_operations pt5161l_debugfs_ops_hb_sts = {  	.open = simple_open,  }; -static int pt5161l_init_debugfs(struct pt5161l_data *data) +static void pt5161l_init_debugfs(struct i2c_client *client, struct pt5161l_data *data)  { -	data->debugfs = debugfs_create_dir(dev_name(&data->client->dev), -					   pt5161l_debugfs_dir); - -	debugfs_create_file("fw_ver", 0444, data->debugfs, data, +	debugfs_create_file("fw_ver", 0444, client->debugfs, data,  			    &pt5161l_debugfs_ops_fw_ver); -	debugfs_create_file("fw_load_status", 0444, data->debugfs, data, +	debugfs_create_file("fw_load_status", 0444, client->debugfs, data,  			    &pt5161l_debugfs_ops_fw_load_sts); -	debugfs_create_file("heartbeat_status", 0444, data->debugfs, data, +	debugfs_create_file("heartbeat_status", 0444, client->debugfs, data,  			    &pt5161l_debugfs_ops_hb_sts); - -	return 0;  }  static int pt5161l_probe(struct i2c_client *client) @@ -604,17 +596,12 @@ static int pt5161l_probe(struct i2c_client *client)  							 data,  							 &pt5161l_chip_info,  							 NULL); +	if (IS_ERR(hwmon_dev)) +		return PTR_ERR(hwmon_dev); -	pt5161l_init_debugfs(data); - -	return PTR_ERR_OR_ZERO(hwmon_dev); -} - -static void pt5161l_remove(struct i2c_client *client) -{ -	struct pt5161l_data *data = i2c_get_clientdata(client); +	pt5161l_init_debugfs(client, data); -	debugfs_remove_recursive(data->debugfs); +	return 0;  }  static const struct of_device_id __maybe_unused pt5161l_of_match[] = { @@ -643,24 +630,9 @@ static struct i2c_driver pt5161l_driver = {  		.acpi_match_table = ACPI_PTR(pt5161l_acpi_match),  	},  	.probe = pt5161l_probe, -	.remove = pt5161l_remove,  	.id_table = pt5161l_id,  }; - -static int __init pt5161l_init(void) -{ -	pt5161l_debugfs_dir = debugfs_create_dir("pt5161l", NULL); -	return i2c_add_driver(&pt5161l_driver); -} - -static void __exit pt5161l_exit(void) -{ -	i2c_del_driver(&pt5161l_driver); -	debugfs_remove_recursive(pt5161l_debugfs_dir); -} - -module_init(pt5161l_init); -module_exit(pt5161l_exit); +module_i2c_driver(pt5161l_driver);  MODULE_AUTHOR("Cosmo Chou <cosmo.chou@quantatw.com>");  MODULE_DESCRIPTION("Hwmon driver for Astera Labs Aries PCIe retimer"); | 
