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

From: Herve Codina <[email-masked]>
Date: Thu, 11 Jul 2024 18:25:28 +0200

Hi Markus,

On Thu, 11 Jul 2024 18:09:26 +0200
Markus Elfring <[email-masked]> 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é