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:
Dmitry Torokhov 2019-07-13 01:13:16 -07:00
Родитель 3ccd63d369
Коммит 9609b904c7
1 изменённых файлов: 1 добавлений и 16 удалений

Просмотреть файл

@ -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);