2022-08-04 11:52:34

by Greg Kroah-Hartman

[permalink] [raw]
Subject: [PATCH] HID: playstation: convert to use dev_groups

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 <[email protected]>
Cc: Jiri Kosina <[email protected]>
Cc: Benjamin Tissoires <[email protected]>
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
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



2022-08-12 16:06:12

by Roderick Colenbrander

[permalink] [raw]
Subject: Re: [PATCH] HID: playstation: convert to use dev_groups

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 <[email protected]>

Thanks,
Roderick Colenbrander

On Thu, Aug 4, 2022 at 4:32 AM Greg Kroah-Hartman
<[email protected]> wrote:
>
> 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 <[email protected]>
> Cc: Jiri Kosina <[email protected]>
> Cc: Benjamin Tissoires <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Greg Kroah-Hartman <[email protected]>
> ---
> 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
>

2022-08-25 08:47:43

by Jiri Kosina

[permalink] [raw]
Subject: Re: [PATCH] HID: playstation: convert to use dev_groups

On Fri, 12 Aug 2022, Roderick Colenbrander wrote:

> 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 <[email protected]>

Sorry for the delay, was off for a bit. Queued in for-6.1/sony.

Thanks,

--
Jiri Kosina
SUSE Labs

2022-08-25 09:42:23

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] HID: playstation: convert to use dev_groups

On Thu, Aug 25, 2022 at 10:36:52AM +0200, Jiri Kosina wrote:
> On Fri, 12 Aug 2022, Roderick Colenbrander wrote:
>
> > 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 <[email protected]>
>
> Sorry for the delay, was off for a bit. Queued in for-6.1/sony.

No worries, thanks!