Re: [PATCH] platform/x86: dell-privacy: convert to use dev_groups

From: Hans de Goede
Date: Tue Aug 02 2022 - 06:52:47 EST


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,