Re: rtc: isl1208: avoid possible sysfs race

From: Denis OSTERLAND
Date: Tue Sep 25 2018 - 02:57:02 EST


Hi,

just for clarification:
This changes user-space representation from
/sys/class/rtc/rtcN/device/{atrim,dtrim,usr}
to
/sys/class/rtc/rtcN/{atrim,dtrim,usr}
and fixes the "mistake made back in 2006" you mention in
https://patchwork.ozlabs.org/patch/881397/
correct?

Regards Denis

Am Samstag, den 15.09.2018, 13:43 +0200 schrieb Alexandre Belloni:
> Use rtc_add_group to add the common sysfs group to avoid a possible race
> condition.
>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>
> ---
> Âdrivers/rtc/rtc-isl1208.c | 11 +----------
> Â1 file changed, 1 insertion(+), 10 deletions(-)
>
> diff --git a/drivers/rtc/rtc-isl1208.c b/drivers/rtc/rtc-isl1208.c
> index ea18a8f4bce0..e1e9434c9972 100644
> --- a/drivers/rtc/rtc-isl1208.c
> +++ b/drivers/rtc/rtc-isl1208.c
> @@ -804,7 +804,7 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
> Â evdet_irq = of_irq_get_byname(np, "evdet");
> Â }
> Â
> - rc = sysfs_create_group(&client->dev.kobj, &isl1208_rtc_sysfs_files);
> + rc = rtc_add_group(rtc, &isl1208_rtc_sysfs_files);
> Â if (rc)
> Â return rc;
> Â
> @@ -821,14 +821,6 @@ isl1208_probe(struct i2c_client *client, const struct i2c_device_id *id)
> Â return rtc_register_device(rtc);
> Â}
> Â
> -static int
> -isl1208_remove(struct i2c_client *client)
> -{
> - sysfs_remove_group(&client->dev.kobj, &isl1208_rtc_sysfs_files);
> -
> - return 0;
> -}
> -
> Âstatic const struct i2c_device_id isl1208_id[] = {
> Â { "isl1208", TYPE_ISL1208 },
> Â { "isl1218", TYPE_ISL1218 },
> @@ -851,7 +843,6 @@ static struct i2c_driver isl1208_driver = {
> Â .of_match_table = of_match_ptr(isl1208_of_match),
> Â },
> Â .probe = isl1208_probe,
> - .remove = isl1208_remove,
> Â .id_table = isl1208_id,
> Â};
> Â

Diehl Connectivity Solutions GmbH
GeschÃftsfÃhrung: Horst Leonberger
Sitz der Gesellschaft: NÃrnberg - Registergericht: Amtsgericht
NÃrnberg: HRB 32315
___________________________________________________________________________________________________

Der Inhalt der vorstehenden E-Mail ist nicht rechtlich bindend. Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen.
Informieren Sie uns bitte, wenn Sie diese E-Mail faelschlicherweise erhalten haben. Bitte loeschen Sie in diesem Fall die Nachricht.
Jede unerlaubte Form der Reproduktion, Bekanntgabe, Aenderung, Verteilung und/oder Publikation dieser E-Mail ist strengstens untersagt.
The contents of the above mentioned e-mail is not legally binding. This e-mail contains confidential and/or legally protected information. Please inform us if you have received this e-mail by
mistake and delete it in such a case. Each unauthorized reproduction, disclosure, alteration, distribution and/or publication of this e-mail is strictly prohibited.