Re: [PATCH v3 1/7] mfd: syscon: Add reference counting and device managed support

From: Herve Codina
Date: Thu Jul 11 2024 - 12:25:55 EST


Hi Markus,

On Thu, 11 Jul 2024 18:09:26 +0200
Markus Elfring <Markus.Elfring@xxxxxx> wrote:

>
> > +++ b/drivers/mfd/syscon.c
>
> > +static struct syscon *syscon_from_regmap(struct regmap *regmap)
> +{
> > + struct syscon *entry, *syscon = NULL;
> > +
> > + spin_lock(&syscon_list_slock);
> > +
> > + list_for_each_entry(entry, &syscon_list, list)
>
> > + spin_unlock(&syscon_list_slock);
> > +
> > + return syscon;
> > +}
>
>
> Under which circumstances would you become interested to apply a statement
> like “guard(spinlock)(&syscon_list_slock);”?
> https://elixir.bootlin.com/linux/v6.10-rc7/source/include/linux/spinlock.h#L561
>

I used the spin_{lock,unlock}() pattern call already present in syscon.c.
Of course, I can add a new patch in this series converting syscon.c to
the guard() family and use guard() in my introduced lock/unlock.

Lee, any opinion ?

Best regards,
Hervé