HID: playstation: convert to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 4 Aug 2022 11:30:52 +0000 (13:30 +0200)
committerJiri Kosina <jkosina@suse.cz>
Thu, 25 Aug 2022 08:36:28 +0000 (10:36 +0200)
There is no need for a driver to individually add/create device groups,
the driver core will do it automatically for you.  Convert the
hid-playstation driver to use the dev_groups pointer instead of manually
calling the driver core to create the group and have it be cleaned up
later on by the devm core.

Cc: Roderick Colenbrander <roderick.colenbrander@sony.com>
Cc: Jiri Kosina <jikos@kernel.org>
Cc: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: linux-input@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-playstation.c

index b1b5721..40050eb 100644 (file)
@@ -692,15 +692,12 @@ static ssize_t hardware_version_show(struct device *dev,
 
 static DEVICE_ATTR_RO(hardware_version);
 
-static struct attribute *ps_device_attributes[] = {
+static struct attribute *ps_device_attrs[] = {
        &dev_attr_firmware_version.attr,
        &dev_attr_hardware_version.attr,
        NULL
 };
-
-static const struct attribute_group ps_device_attribute_group = {
-       .attrs = ps_device_attributes,
-};
+ATTRIBUTE_GROUPS(ps_device);
 
 static int dualsense_get_calibration_data(struct dualsense *ds)
 {
@@ -1448,12 +1445,6 @@ static int ps_probe(struct hid_device *hdev, const struct hid_device_id *id)
                }
        }
 
-       ret = devm_device_add_group(&hdev->dev, &ps_device_attribute_group);
-       if (ret) {
-               hid_err(hdev, "Failed to register sysfs nodes.\n");
-               goto err_close;
-       }
-
        return ret;
 
 err_close:
@@ -1487,6 +1478,9 @@ static struct hid_driver ps_driver = {
        .probe          = ps_probe,
        .remove         = ps_remove,
        .raw_event      = ps_raw_event,
+       .driver = {
+               .dev_groups = ps_device_groups,
+       },
 };
 
 static int __init ps_init(void)