Input: elan_i2c - switch to using devm_device_add_groups()
Instead of installing custom devm cleanup action to remove attribute groups on failure, let's use the dedicated devm API. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
This commit is contained in:
Родитель
3ccd63d369
Коммит
9609b904c7
|
@ -1138,13 +1138,6 @@ static void elan_disable_regulator(void *_data)
|
|||
regulator_disable(data->vcc);
|
||||
}
|
||||
|
||||
static void elan_remove_sysfs_groups(void *_data)
|
||||
{
|
||||
struct elan_tp_data *data = _data;
|
||||
|
||||
sysfs_remove_groups(&data->client->dev.kobj, elan_sysfs_groups);
|
||||
}
|
||||
|
||||
static int elan_probe(struct i2c_client *client,
|
||||
const struct i2c_device_id *dev_id)
|
||||
{
|
||||
|
@ -1269,20 +1262,12 @@ static int elan_probe(struct i2c_client *client,
|
|||
return error;
|
||||
}
|
||||
|
||||
error = sysfs_create_groups(&dev->kobj, elan_sysfs_groups);
|
||||
error = devm_device_add_groups(dev, elan_sysfs_groups);
|
||||
if (error) {
|
||||
dev_err(dev, "failed to create sysfs attributes: %d\n", error);
|
||||
return error;
|
||||
}
|
||||
|
||||
error = devm_add_action(dev, elan_remove_sysfs_groups, data);
|
||||
if (error) {
|
||||
elan_remove_sysfs_groups(data);
|
||||
dev_err(dev, "Failed to add sysfs cleanup action: %d\n",
|
||||
error);
|
||||
return error;
|
||||
}
|
||||
|
||||
error = input_register_device(data->input);
|
||||
if (error) {
|
||||
dev_err(dev, "failed to register input device: %d\n", error);
|
||||
|
|
Загрузка…
Ссылка в новой задаче