Add a clear_faults write-only debugfs entry for the ibm-cffps device driver. Certain IBM power supplies require clearing some latched faults in order to indicate that the fault has indeed been observed/noticed. Signed-off-by: Brandon Wyman <bjwyman@xxxxxxxxx> --- V1 -> V2: Explain why this change is needed drivers/hwmon/pmbus/ibm-cffps.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/hwmon/pmbus/ibm-cffps.c b/drivers/hwmon/pmbus/ibm-cffps.c index e3294a1a54bb..3f02dde02a4b 100644 --- a/drivers/hwmon/pmbus/ibm-cffps.c +++ b/drivers/hwmon/pmbus/ibm-cffps.c @@ -67,6 +67,7 @@ enum { CFFPS_DEBUGFS_CCIN, CFFPS_DEBUGFS_FW, CFFPS_DEBUGFS_ON_OFF_CONFIG, + CFFPS_DEBUGFS_CLEAR_FAULTS, CFFPS_DEBUGFS_NUM_ENTRIES }; @@ -274,6 +275,13 @@ static ssize_t ibm_cffps_debugfs_write(struct file *file, if (rc) return rc; + rc = 1; + break; + case CFFPS_DEBUGFS_CLEAR_FAULTS: + rc = i2c_smbus_write_byte(psu->client, PMBUS_CLEAR_FAULTS); + if (rc < 0) + return rc; + rc = 1; break; default: @@ -607,6 +615,9 @@ static int ibm_cffps_probe(struct i2c_client *client) debugfs_create_file("on_off_config", 0644, ibm_cffps_dir, &psu->debugfs_entries[CFFPS_DEBUGFS_ON_OFF_CONFIG], &ibm_cffps_fops); + debugfs_create_file("clear_faults", 0200, ibm_cffps_dir, + &psu->debugfs_entries[CFFPS_DEBUGFS_CLEAR_FAULTS], + &ibm_cffps_fops); return 0; } -- 2.25.1