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

Herve Codina herve.codina at bootlin.com
Thu Jul 11 09:25:28 PDT 2024


Hi Markus,

On Thu, 11 Jul 2024 18:09:26 +0200
Markus Elfring <Markus.Elfring at web.de> 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é



More information about the linux-arm-kernel mailing list