Re: [PATCH] Input: elan_i2c - convert to use dev_groups

Dmitry Torokhov
2022-07-29T18:43:12Z

Hi Greg,

On Fri, Jul 29, 2022 at 03:58:16PM +0200, 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.

I obviously like this patch as the less boilerplate code the better, but
I am not sure what race are you talking about in the commit message?
Could you please elaborate?

Thanks!

>
> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: "jingle.wu" <jingle.wu@emc.com.tw>
> Cc: linux-input@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> drivers/input/mouse/elan_i2c_core.c | 7 +------
> 1 file changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c
> index e1758d5ffe42..d4eb59b55bf1 100644
> --- a/drivers/input/mouse/elan_i2c_core.c
> +++ b/drivers/input/mouse/elan_i2c_core.c
> @@ -1311,12 +1311,6 @@ static int elan_probe(struct i2c_client *client,
> return error;
> }
>
> - error = devm_device_add_groups(dev, elan_sysfs_groups);
> - if (error) {
> - dev_err(dev, "failed to create sysfs attributes: %d\n", error);
> - return error;
> - }
> -
> error = input_register_device(data->input);
> if (error) {
> dev_err(dev, "failed to register input device: %d\n", error);
> @@ -1442,6 +1436,7 @@ static struct i2c_driver elan_driver = {
> .acpi_match_table = ACPI_PTR(elan_acpi_id),
> .of_match_table = of_match_ptr(elan_of_match),
> .probe_type = PROBE_PREFER_ASYNCHRONOUS,
> + .dev_groups = elan_sysfs_groups,
> },
> .probe = elan_probe,
> .id_table = elan_id,
> --
> 2.37.1
>

--
Dmitry