On Thu, Dec 14, 2023 at 05:10:23PM +0200, Andy Shevchenko wrote: > On Thu, Dec 14, 2023 at 05:58:13PM +0800, Kent Gibson wrote: > > Reduce the time holding the gpio_lock by snapshotting the desc flags, > > rather than testing them individually while holding the lock. > > > > Accept that the calculation of the used field is inherently racy, and > > only check the availability of the line from pinctrl if other checks > > pass, so avoiding the check for lines that are otherwise in use. > > ... > > > - spin_lock_irqsave(&gpio_lock, flags); > > Shouldn't this be covered by patch 1 (I mean conversion to scoped_guard() > instead of spinlock)? > Read the cover letter. Doing that made the change larger, as flags gets removed then restored. I had also thought the flag tests would get indented then unindented, but if we use guard() the indentation should remain unchanged. Can do it in 1 if you are happy with the flags declaration being removed in patch 1 and restored in 4. Cheers, Kent.