diff mbox series

HID: playstation: convert to use dev_groups

Message ID 20220804113052.1117009-1-gregkh@linuxfoundation.org
State Accepted
Commit b4a9af9be628e4f9d09997e0bdef30f6718e88ec
Headers show
Series HID: playstation: convert to use dev_groups | expand

Commit Message

Greg KH Aug. 4, 2022, 11:30 a.m. UTC
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>
---
 drivers/hid/hid-playstation.c | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

Comments

Roderick Colenbrander Aug. 12, 2022, 3:59 p.m. UTC | #1
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
<gregkh@linuxfoundation.org> 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 <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>
> ---
>  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
>
Jiri Kosina Aug. 25, 2022, 8:36 a.m. UTC | #2
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 <roderick.colenbrander@sony.com>

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

Thanks,
Greg KH Aug. 25, 2022, 9:02 a.m. UTC | #3
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 <roderick.colenbrander@sony.com>
> 
> Sorry for the delay, was off for a bit. Queued in for-6.1/sony.

No worries, thanks!
diff mbox series

Patch

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)