Skip to content

Commit

Permalink
Revert "Input: synaptics_rmi4 - use devm_device_add_group() for attri…
Browse files Browse the repository at this point in the history
…butes in F01"

Since the sysfs attribute hangs off the RMI bus, which doesn't go away during
firmware flash, it needs to be explicitly removed, otherwise we would try and
register the same attribute twice.

This reverts commit 36a44af.

Signed-off-by: Nick Dyer <nick@shmanahar.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
  • Loading branch information
Nick Dyer authored and Dmitry Torokhov committed Jan 24, 2018
1 parent 2a924d7 commit 060403f
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions drivers/input/rmi4/rmi_f01.c
Original file line number Diff line number Diff line change
Expand Up @@ -570,14 +570,19 @@ static int rmi_f01_probe(struct rmi_function *fn)

dev_set_drvdata(&fn->dev, f01);

error = devm_device_add_group(&fn->rmi_dev->dev, &rmi_f01_attr_group);
error = sysfs_create_group(&fn->rmi_dev->dev.kobj, &rmi_f01_attr_group);
if (error)
dev_warn(&fn->dev,
"Failed to create attribute group: %d\n", error);
dev_warn(&fn->dev, "Failed to create sysfs group: %d\n", error);

return 0;
}

static void rmi_f01_remove(struct rmi_function *fn)
{
/* Note that the bus device is used, not the F01 device */
sysfs_remove_group(&fn->rmi_dev->dev.kobj, &rmi_f01_attr_group);
}

static int rmi_f01_config(struct rmi_function *fn)
{
struct f01_data *f01 = dev_get_drvdata(&fn->dev);
Expand Down Expand Up @@ -717,6 +722,7 @@ struct rmi_function_handler rmi_f01_handler = {
},
.func = 0x01,
.probe = rmi_f01_probe,
.remove = rmi_f01_remove,
.config = rmi_f01_config,
.attention = rmi_f01_attention,
.suspend = rmi_f01_suspend,
Expand Down

0 comments on commit 060403f

Please sign in to comment.