Commit 3bce071a authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Guenter Roeck

hwmon: (pmbus) shrink code and remove pmbus_do_remove()

The only action currently performed in pmbus_do_remove() is removing the
debugfs hierarchy. We can schedule a devm action at probe time and remove
pmbus_do_remove() entirely from all pmbus drivers.
Signed-off-by: default avatarBartosz Golaszewski <bgolaszewski@baylibre.com>
Link: https://lore.kernel.org/r/20201026105352.20359-1-brgl@bgdev.pl
[groeck: Removed references to pmbus_do_remove from documentation]
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent ad00a02e
...@@ -277,12 +277,6 @@ with the pointer to struct pmbus_driver_info as additional argument. Calls ...@@ -277,12 +277,6 @@ with the pointer to struct pmbus_driver_info as additional argument. Calls
identify function if supported. Must only be called from device probe identify function if supported. Must only be called from device probe
function. function.
::
void pmbus_do_remove(struct i2c_client *client);
Execute driver remove function. Similar to standard driver remove function.
:: ::
const struct pmbus_driver_info const struct pmbus_driver_info
......
...@@ -148,11 +148,6 @@ Emerson DS1200 power modules might look as follows:: ...@@ -148,11 +148,6 @@ Emerson DS1200 power modules might look as follows::
return pmbus_do_probe(client, &ds1200_info); return pmbus_do_probe(client, &ds1200_info);
} }
static int ds1200_remove(struct i2c_client *client)
{
return pmbus_do_remove(client);
}
static const struct i2c_device_id ds1200_id[] = { static const struct i2c_device_id ds1200_id[] = {
{"ds1200", 0}, {"ds1200", 0},
{} {}
...@@ -166,7 +161,6 @@ Emerson DS1200 power modules might look as follows:: ...@@ -166,7 +161,6 @@ Emerson DS1200 power modules might look as follows::
.name = "ds1200", .name = "ds1200",
}, },
.probe_new = ds1200_probe, .probe_new = ds1200_probe,
.remove = ds1200_remove,
.id_table = ds1200_id, .id_table = ds1200_id,
}; };
......
...@@ -502,7 +502,6 @@ static struct i2c_driver adm1266_driver = { ...@@ -502,7 +502,6 @@ static struct i2c_driver adm1266_driver = {
.of_match_table = adm1266_of_match, .of_match_table = adm1266_of_match,
}, },
.probe_new = adm1266_probe, .probe_new = adm1266_probe,
.remove = pmbus_do_remove,
.id_table = adm1266_id, .id_table = adm1266_id,
}; };
......
...@@ -797,7 +797,6 @@ static struct i2c_driver adm1275_driver = { ...@@ -797,7 +797,6 @@ static struct i2c_driver adm1275_driver = {
.name = "adm1275", .name = "adm1275",
}, },
.probe_new = adm1275_probe, .probe_new = adm1275_probe,
.remove = pmbus_do_remove,
.id_table = adm1275_id, .id_table = adm1275_id,
}; };
......
...@@ -121,7 +121,6 @@ static struct i2c_driver pfe_pmbus_driver = { ...@@ -121,7 +121,6 @@ static struct i2c_driver pfe_pmbus_driver = {
.name = "bel-pfe", .name = "bel-pfe",
}, },
.probe_new = pfe_pmbus_probe, .probe_new = pfe_pmbus_probe,
.remove = pmbus_do_remove,
.id_table = pfe_device_id, .id_table = pfe_device_id,
}; };
......
...@@ -617,7 +617,6 @@ static struct i2c_driver ibm_cffps_driver = { ...@@ -617,7 +617,6 @@ static struct i2c_driver ibm_cffps_driver = {
.of_match_table = ibm_cffps_of_match, .of_match_table = ibm_cffps_of_match,
}, },
.probe_new = ibm_cffps_probe, .probe_new = ibm_cffps_probe,
.remove = pmbus_do_remove,
.id_table = ibm_cffps_id, .id_table = ibm_cffps_id,
}; };
......
...@@ -216,7 +216,6 @@ static struct i2c_driver ipsps_driver = { ...@@ -216,7 +216,6 @@ static struct i2c_driver ipsps_driver = {
.of_match_table = of_match_ptr(ipsps_of_match), .of_match_table = of_match_ptr(ipsps_of_match),
}, },
.probe_new = ipsps_probe, .probe_new = ipsps_probe,
.remove = pmbus_do_remove,
.id_table = ipsps_id, .id_table = ipsps_id,
}; };
......
...@@ -137,7 +137,6 @@ static struct i2c_driver ir35221_driver = { ...@@ -137,7 +137,6 @@ static struct i2c_driver ir35221_driver = {
.name = "ir35221", .name = "ir35221",
}, },
.probe_new = ir35221_probe, .probe_new = ir35221_probe,
.remove = pmbus_do_remove,
.id_table = ir35221_id, .id_table = ir35221_id,
}; };
......
...@@ -53,7 +53,6 @@ static struct i2c_driver ir38064_driver = { ...@@ -53,7 +53,6 @@ static struct i2c_driver ir38064_driver = {
.name = "ir38064", .name = "ir38064",
}, },
.probe_new = ir38064_probe, .probe_new = ir38064_probe,
.remove = pmbus_do_remove,
.id_table = ir38064_id, .id_table = ir38064_id,
}; };
......
...@@ -55,7 +55,6 @@ static struct i2c_driver irps5401_driver = { ...@@ -55,7 +55,6 @@ static struct i2c_driver irps5401_driver = {
.name = "irps5401", .name = "irps5401",
}, },
.probe_new = irps5401_probe, .probe_new = irps5401_probe,
.remove = pmbus_do_remove,
.id_table = irps5401_id, .id_table = irps5401_id,
}; };
......
...@@ -324,7 +324,6 @@ static struct i2c_driver isl68137_driver = { ...@@ -324,7 +324,6 @@ static struct i2c_driver isl68137_driver = {
.name = "isl68137", .name = "isl68137",
}, },
.probe_new = isl68137_probe, .probe_new = isl68137_probe,
.remove = pmbus_do_remove,
.id_table = raa_dmpvr_id, .id_table = raa_dmpvr_id,
}; };
......
...@@ -508,7 +508,6 @@ static struct i2c_driver lm25066_driver = { ...@@ -508,7 +508,6 @@ static struct i2c_driver lm25066_driver = {
.name = "lm25066", .name = "lm25066",
}, },
.probe_new = lm25066_probe, .probe_new = lm25066_probe,
.remove = pmbus_do_remove,
.id_table = lm25066_id, .id_table = lm25066_id,
}; };
......
...@@ -875,7 +875,6 @@ static struct i2c_driver ltc2978_driver = { ...@@ -875,7 +875,6 @@ static struct i2c_driver ltc2978_driver = {
.of_match_table = of_match_ptr(ltc2978_of_match), .of_match_table = of_match_ptr(ltc2978_of_match),
}, },
.probe_new = ltc2978_probe, .probe_new = ltc2978_probe,
.remove = pmbus_do_remove,
.id_table = ltc2978_id, .id_table = ltc2978_id,
}; };
......
...@@ -200,7 +200,6 @@ static struct i2c_driver ltc3815_driver = { ...@@ -200,7 +200,6 @@ static struct i2c_driver ltc3815_driver = {
.name = "ltc3815", .name = "ltc3815",
}, },
.probe_new = ltc3815_probe, .probe_new = ltc3815_probe,
.remove = pmbus_do_remove,
.id_table = ltc3815_id, .id_table = ltc3815_id,
}; };
......
...@@ -103,7 +103,6 @@ static struct i2c_driver max16064_driver = { ...@@ -103,7 +103,6 @@ static struct i2c_driver max16064_driver = {
.name = "max16064", .name = "max16064",
}, },
.probe_new = max16064_probe, .probe_new = max16064_probe,
.remove = pmbus_do_remove,
.id_table = max16064_id, .id_table = max16064_id,
}; };
......
...@@ -302,7 +302,6 @@ static struct i2c_driver max16601_driver = { ...@@ -302,7 +302,6 @@ static struct i2c_driver max16601_driver = {
.name = "max16601", .name = "max16601",
}, },
.probe_new = max16601_probe, .probe_new = max16601_probe,
.remove = pmbus_do_remove,
.id_table = max16601_id, .id_table = max16601_id,
}; };
......
...@@ -777,7 +777,6 @@ static struct i2c_driver max20730_driver = { ...@@ -777,7 +777,6 @@ static struct i2c_driver max20730_driver = {
.of_match_table = max20730_of_match, .of_match_table = max20730_of_match,
}, },
.probe_new = max20730_probe, .probe_new = max20730_probe,
.remove = pmbus_do_remove,
.id_table = max20730_id, .id_table = max20730_id,
}; };
......
...@@ -43,7 +43,6 @@ static struct i2c_driver max20751_driver = { ...@@ -43,7 +43,6 @@ static struct i2c_driver max20751_driver = {
.name = "max20751", .name = "max20751",
}, },
.probe_new = max20751_probe, .probe_new = max20751_probe,
.remove = pmbus_do_remove,
.id_table = max20751_id, .id_table = max20751_id,
}; };
......
...@@ -390,7 +390,6 @@ static struct i2c_driver max31785_driver = { ...@@ -390,7 +390,6 @@ static struct i2c_driver max31785_driver = {
.of_match_table = max31785_of_match, .of_match_table = max31785_of_match,
}, },
.probe_new = max31785_probe, .probe_new = max31785_probe,
.remove = pmbus_do_remove,
.id_table = max31785_id, .id_table = max31785_id,
}; };
......
...@@ -521,7 +521,6 @@ static struct i2c_driver max34440_driver = { ...@@ -521,7 +521,6 @@ static struct i2c_driver max34440_driver = {
.name = "max34440", .name = "max34440",
}, },
.probe_new = max34440_probe, .probe_new = max34440_probe,
.remove = pmbus_do_remove,
.id_table = max34440_id, .id_table = max34440_id,
}; };
......
...@@ -183,7 +183,6 @@ static struct i2c_driver max8688_driver = { ...@@ -183,7 +183,6 @@ static struct i2c_driver max8688_driver = {
.name = "max8688", .name = "max8688",
}, },
.probe_new = max8688_probe, .probe_new = max8688_probe,
.remove = pmbus_do_remove,
.id_table = max8688_id, .id_table = max8688_id,
}; };
......
...@@ -758,7 +758,6 @@ static struct i2c_driver mp2975_driver = { ...@@ -758,7 +758,6 @@ static struct i2c_driver mp2975_driver = {
.of_match_table = of_match_ptr(mp2975_of_match), .of_match_table = of_match_ptr(mp2975_of_match),
}, },
.probe_new = mp2975_probe, .probe_new = mp2975_probe,
.remove = pmbus_do_remove,
.id_table = mp2975_id, .id_table = mp2975_id,
}; };
......
...@@ -238,7 +238,6 @@ static struct i2c_driver pmbus_driver = { ...@@ -238,7 +238,6 @@ static struct i2c_driver pmbus_driver = {
.name = "pmbus", .name = "pmbus",
}, },
.probe_new = pmbus_probe, .probe_new = pmbus_probe,
.remove = pmbus_do_remove,
.id_table = pmbus_id, .id_table = pmbus_id,
}; };
......
...@@ -490,7 +490,6 @@ void pmbus_clear_faults(struct i2c_client *client); ...@@ -490,7 +490,6 @@ void pmbus_clear_faults(struct i2c_client *client);
bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg); bool pmbus_check_byte_register(struct i2c_client *client, int page, int reg);
bool pmbus_check_word_register(struct i2c_client *client, int page, int reg); bool pmbus_check_word_register(struct i2c_client *client, int page, int reg);
int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info); int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info);
int pmbus_do_remove(struct i2c_client *client);
const struct pmbus_driver_info *pmbus_get_driver_info(struct i2c_client const struct pmbus_driver_info *pmbus_get_driver_info(struct i2c_client
*client); *client);
int pmbus_get_fan_rate_device(struct i2c_client *client, int page, int id, int pmbus_get_fan_rate_device(struct i2c_client *client, int page, int id,
......
...@@ -2395,6 +2395,13 @@ static int pmbus_debugfs_set_pec(void *data, u64 val) ...@@ -2395,6 +2395,13 @@ static int pmbus_debugfs_set_pec(void *data, u64 val)
DEFINE_DEBUGFS_ATTRIBUTE(pmbus_debugfs_ops_pec, pmbus_debugfs_get_pec, DEFINE_DEBUGFS_ATTRIBUTE(pmbus_debugfs_ops_pec, pmbus_debugfs_get_pec,
pmbus_debugfs_set_pec, "%llu\n"); pmbus_debugfs_set_pec, "%llu\n");
static void pmbus_remove_debugfs(void *data)
{
struct dentry *entry = data;
debugfs_remove_recursive(entry);
}
static int pmbus_init_debugfs(struct i2c_client *client, static int pmbus_init_debugfs(struct i2c_client *client,
struct pmbus_data *data) struct pmbus_data *data)
{ {
...@@ -2530,7 +2537,8 @@ static int pmbus_init_debugfs(struct i2c_client *client, ...@@ -2530,7 +2537,8 @@ static int pmbus_init_debugfs(struct i2c_client *client,
} }
} }
return 0; return devm_add_action_or_reset(data->dev,
pmbus_remove_debugfs, data->debugfs);
} }
#else #else
static int pmbus_init_debugfs(struct i2c_client *client, static int pmbus_init_debugfs(struct i2c_client *client,
...@@ -2617,16 +2625,6 @@ int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info) ...@@ -2617,16 +2625,6 @@ int pmbus_do_probe(struct i2c_client *client, struct pmbus_driver_info *info)
} }
EXPORT_SYMBOL_GPL(pmbus_do_probe); EXPORT_SYMBOL_GPL(pmbus_do_probe);
int pmbus_do_remove(struct i2c_client *client)
{
struct pmbus_data *data = i2c_get_clientdata(client);
debugfs_remove_recursive(data->debugfs);
return 0;
}
EXPORT_SYMBOL_GPL(pmbus_do_remove);
struct dentry *pmbus_get_debugfs_dir(struct i2c_client *client) struct dentry *pmbus_get_debugfs_dir(struct i2c_client *client)
{ {
struct pmbus_data *data = i2c_get_clientdata(client); struct pmbus_data *data = i2c_get_clientdata(client);
......
...@@ -131,7 +131,6 @@ static struct i2c_driver pxe1610_driver = { ...@@ -131,7 +131,6 @@ static struct i2c_driver pxe1610_driver = {
.name = "pxe1610", .name = "pxe1610",
}, },
.probe_new = pxe1610_probe, .probe_new = pxe1610_probe,
.remove = pmbus_do_remove,
.id_table = pxe1610_id, .id_table = pxe1610_id,
}; };
......
...@@ -43,7 +43,6 @@ static struct i2c_driver tps40422_driver = { ...@@ -43,7 +43,6 @@ static struct i2c_driver tps40422_driver = {
.name = "tps40422", .name = "tps40422",
}, },
.probe_new = tps40422_probe, .probe_new = tps40422_probe,
.remove = pmbus_do_remove,
.id_table = tps40422_id, .id_table = tps40422_id,
}; };
......
...@@ -251,7 +251,6 @@ static struct i2c_driver tps53679_driver = { ...@@ -251,7 +251,6 @@ static struct i2c_driver tps53679_driver = {
.of_match_table = of_match_ptr(tps53679_of_match), .of_match_table = of_match_ptr(tps53679_of_match),
}, },
.probe_new = tps53679_probe, .probe_new = tps53679_probe,
.remove = pmbus_do_remove,
.id_table = tps53679_id, .id_table = tps53679_id,
}; };
......
...@@ -621,7 +621,6 @@ static struct i2c_driver ucd9000_driver = { ...@@ -621,7 +621,6 @@ static struct i2c_driver ucd9000_driver = {
.of_match_table = of_match_ptr(ucd9000_of_match), .of_match_table = of_match_ptr(ucd9000_of_match),
}, },
.probe_new = ucd9000_probe, .probe_new = ucd9000_probe,
.remove = pmbus_do_remove,
.id_table = ucd9000_id, .id_table = ucd9000_id,
}; };
......
...@@ -201,7 +201,6 @@ static struct i2c_driver ucd9200_driver = { ...@@ -201,7 +201,6 @@ static struct i2c_driver ucd9200_driver = {
.of_match_table = of_match_ptr(ucd9200_of_match), .of_match_table = of_match_ptr(ucd9200_of_match),
}, },
.probe_new = ucd9200_probe, .probe_new = ucd9200_probe,
.remove = pmbus_do_remove,
.id_table = ucd9200_id, .id_table = ucd9200_id,
}; };
......
...@@ -160,7 +160,6 @@ static struct i2c_driver xdpe122_driver = { ...@@ -160,7 +160,6 @@ static struct i2c_driver xdpe122_driver = {
.of_match_table = of_match_ptr(xdpe122_of_match), .of_match_table = of_match_ptr(xdpe122_of_match),
}, },
.probe_new = xdpe122_probe, .probe_new = xdpe122_probe,
.remove = pmbus_do_remove,
.id_table = xdpe122_id, .id_table = xdpe122_id,
}; };
......
...@@ -396,7 +396,6 @@ static struct i2c_driver zl6100_driver = { ...@@ -396,7 +396,6 @@ static struct i2c_driver zl6100_driver = {
.name = "zl6100", .name = "zl6100",
}, },
.probe_new = zl6100_probe, .probe_new = zl6100_probe,
.remove = pmbus_do_remove,
.id_table = zl6100_id, .id_table = zl6100_id,
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment