]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Input: atmel_mxt_ts - use driver core to instantiate device attributes
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 11 Jul 2024 04:49:12 +0000 (21:49 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 13 Jul 2024 00:15:08 +0000 (17:15 -0700)
Instead of manually creating driver-specific device attributes,
set struct driver->dev_groups pointer to have the driver core
do it.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Link: https://lore.kernel.org/r/Zo9kSFeGOZB9b3rq@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/touchscreen/atmel_mxt_ts.c

index 8a606bd441ae66155c5db176c0358b3061e5ee89..cfc92157701fe1ce7026c6d9ef3a1f975387c30e 100644 (file)
@@ -3069,9 +3069,7 @@ static struct attribute *mxt_attrs[] = {
        NULL
 };
 
-static const struct attribute_group mxt_attr_group = {
-       .attrs = mxt_attrs,
-};
+ATTRIBUTE_GROUPS(mxt);
 
 static void mxt_start(struct mxt_data *data)
 {
@@ -3348,18 +3346,8 @@ static int mxt_probe(struct i2c_client *client)
        if (error)
                goto err_disable_regulators;
 
-       error = sysfs_create_group(&client->dev.kobj, &mxt_attr_group);
-       if (error) {
-               dev_err(&client->dev, "Failure %d creating sysfs group\n",
-                       error);
-               goto err_free_object;
-       }
-
        return 0;
 
-err_free_object:
-       mxt_free_input_device(data);
-       mxt_free_object_table(data);
 err_disable_regulators:
        regulator_bulk_disable(ARRAY_SIZE(data->regulators),
                               data->regulators);
@@ -3371,7 +3359,6 @@ static void mxt_remove(struct i2c_client *client)
        struct mxt_data *data = i2c_get_clientdata(client);
 
        disable_irq(data->irq);
-       sysfs_remove_group(&client->dev.kobj, &mxt_attr_group);
        mxt_free_input_device(data);
        mxt_free_object_table(data);
        regulator_bulk_disable(ARRAY_SIZE(data->regulators),
@@ -3455,6 +3442,7 @@ MODULE_DEVICE_TABLE(i2c, mxt_id);
 static struct i2c_driver mxt_driver = {
        .driver = {
                .name   = "atmel_mxt_ts",
+               .dev_groups = mxt_groups,
                .of_match_table = mxt_of_match,
                .acpi_match_table = ACPI_PTR(mxt_acpi_id),
                .pm     = pm_sleep_ptr(&mxt_pm_ops),