Thread (4 messages) 4 messages, 3 authors, 2022-08-25

Re: [PATCH] HID: playstation: convert to use dev_groups

From: Roderick Colenbrander <hidden>
Date: 2022-08-12 16:00:23
Also in: lkml

Hi Greg,

Thanks for the patch. It looks good and confirmed it working properly.
(Replying from personal email... corporate email systems *Exchange*
don't work well with GIT)

Acked-by: Roderick Colenbrander <roderick.colenbrander@sony.com>

Thanks,
Roderick Colenbrander

On Thu, Aug 4, 2022 at 4:32 AM Greg Kroah-Hartman
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
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 <redacted>
Cc: linux-input@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/hid/hid-playstation.c | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/drivers/hid/hid-playstation.c b/drivers/hid/hid-playstation.c
index b1b5721b5d8f..40050eb85c0a 100644
--- a/drivers/hid/hid-playstation.c
+++ b/drivers/hid/hid-playstation.c
@@ -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)
--
2.37.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help