On Wed, Jan 24, 2018 at 09:26:03PM +0000, Nick Dyer wrote: > Since the sysfs attribute hangs off the RMI bus, which doesn't go away during > firmware flash, it needs to be explictly removed, otherwise we would try and > register the same attribute twice. > > This reverts commit 36a44af5c176d619552d99697433261141dd1296. > > Signed-off-by: Nick Dyer <nick@xxxxxxxxxxxxx> Applied, thank you. > --- > drivers/input/rmi4/rmi_f01.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/input/rmi4/rmi_f01.c b/drivers/input/rmi4/rmi_f01.c > index ae966e3..8a07ae1 100644 > --- a/drivers/input/rmi4/rmi_f01.c > +++ b/drivers/input/rmi4/rmi_f01.c > @@ -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); > @@ -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, > -- > 2.7.4 > -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html