Now that we have proper managed API to create device attributes, let's
start using it instead of the manual unwinding.

Signed-off-by: Dmitry Torokhov <dmitry.torok...@gmail.com>
---
 drivers/input/rmi4/rmi_f01.c | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/input/rmi4/rmi_f01.c b/drivers/input/rmi4/rmi_f01.c
index aa1aabfdbe7c..ae966e333a2f 100644
--- a/drivers/input/rmi4/rmi_f01.c
+++ b/drivers/input/rmi4/rmi_f01.c
@@ -570,18 +570,14 @@ static int rmi_f01_probe(struct rmi_function *fn)
 
        dev_set_drvdata(&fn->dev, f01);
 
-       error = sysfs_create_group(&fn->rmi_dev->dev.kobj, &rmi_f01_attr_group);
+       error = devm_device_add_group(&fn->rmi_dev->dev, &rmi_f01_attr_group);
        if (error)
-               dev_warn(&fn->dev, "Failed to create sysfs group: %d\n", error);
+               dev_warn(&fn->dev,
+                        "Failed to create attribute group: %d\n", error);
 
        return 0;
 }
 
-static void rmi_f01_remove(struct rmi_function *fn)
-{
-       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);
@@ -721,7 +717,6 @@ 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.14.0.rc0.284.gd933b75aa4-goog

Reply via email to