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@xxxxxxxx> Thanks, Roderick Colenbrander On Thu, Aug 4, 2022 at 4:32 AM Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> 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@xxxxxxxx> > Cc: Jiri Kosina <jikos@xxxxxxxxxx> > Cc: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx> > Cc: linux-input@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > 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 >