Re: rtc: isl1208: avoid possible sysfs race

From: Alexandre Belloni
Date: Tue Sep 25 2018 - 03:47:29 EST


On 25/09/2018 06:46:24+0000, Denis OSTERLAND wrote:
> 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?
>

This is correct. At some point, it would also be great to move from
atrim/dtrim to offset

> 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.

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com