Hi, On 7/29/22 13:53, Greg Kroah-Hartman wrote: > The driver core supports the ability to handle the creation and removal > of device-specific sysfs files in a race-free manner. Take advantage of > that by converting this driver to use this by moving the sysfs > attributes into a group and assigning the dev_groups pointer to it. > > Cc: Perry Yuan <Perry.Yuan@xxxxxxxx> > Cc: Hans de Goede <hdegoede@xxxxxxxxxx> > Cc: Mark Gross <markgross@xxxxxxxxxx> > Cc: Dell.Client.Kernel@xxxxxxxx > Cc: platform-driver-x86@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Thank you for your patch, I've applied this patch to my review-hans branch: https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans Note it will show up in my review-hans branch once I've pushed my local branch there, which might take a while. Patches which are added to review-hans now are intended for the next rc1. This branch will get rebased to the next rc1 when it is out and after the rebasing the contents of review-hans will be pushed to the platform-drivers-x86/for-next branch. Regards, Hans > --- > drivers/platform/x86/dell/dell-wmi-privacy.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/drivers/platform/x86/dell/dell-wmi-privacy.c b/drivers/platform/x86/dell/dell-wmi-privacy.c > index 074b7e68c227..c82b3d6867c5 100644 > --- a/drivers/platform/x86/dell/dell-wmi-privacy.c > +++ b/drivers/platform/x86/dell/dell-wmi-privacy.c > @@ -174,15 +174,12 @@ static ssize_t dell_privacy_current_state_show(struct device *dev, > static DEVICE_ATTR_RO(dell_privacy_supported_type); > static DEVICE_ATTR_RO(dell_privacy_current_state); > > -static struct attribute *privacy_attributes[] = { > +static struct attribute *privacy_attrs[] = { > &dev_attr_dell_privacy_supported_type.attr, > &dev_attr_dell_privacy_current_state.attr, > NULL, > }; > - > -static const struct attribute_group privacy_attribute_group = { > - .attrs = privacy_attributes > -}; > +ATTRIBUTE_GROUPS(privacy); > > /* > * Describes the Device State class exposed by BIOS which can be consumed by > @@ -342,10 +339,6 @@ static int dell_privacy_wmi_probe(struct wmi_device *wdev, const void *context) > if (ret) > return ret; > > - ret = devm_device_add_group(&wdev->dev, &privacy_attribute_group); > - if (ret) > - return ret; > - > if (priv->features_present & BIT(DELL_PRIVACY_TYPE_AUDIO)) { > ret = dell_privacy_leds_setup(&priv->wdev->dev); > if (ret) > @@ -374,6 +367,7 @@ static const struct wmi_device_id dell_wmi_privacy_wmi_id_table[] = { > static struct wmi_driver dell_privacy_wmi_driver = { > .driver = { > .name = "dell-privacy", > + .dev_groups = privacy_groups, > }, > .probe = dell_privacy_wmi_probe, > .remove = dell_privacy_wmi_remove,