Re: [PATCH v3] gpio: sim: simplify code with cleanup helpers

From: Bartosz Golaszewski
Date: Thu Aug 17 2023 - 08:16:32 EST


On Thu, Aug 17, 2023 at 11:25 AM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Tue, Aug 15, 2023 at 09:09:55PM +0200, Bartosz Golaszewski wrote:
> > On Tue, Aug 15, 2023 at 12:31 PM Andy Shevchenko
> > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > > On Sat, Aug 12, 2023 at 08:36:35PM +0200, Bartosz Golaszewski wrote:
>
> ...
>
> > > > - mutex_lock(&chip->lock);
> > > > - __assign_bit(offset, chip->value_map, value);
> > > > - mutex_unlock(&chip->lock);
> > > > + scoped_guard(mutex, &chip->lock)
> > > > + __assign_bit(offset, chip->value_map, value);
> > >
> > > But this can also be guarded.
> > >
> > > guard(mutex)(&chip->lock);
> > >
> > > __assign_bit(offset, chip->value_map, value);
> >
> > Come on, this is total bikeshedding! I could produce ten arguments in
> > favor of the scoped variant.
> >
> > Linus acked even the previous version and Peter says it looks right. I
> > will queue it unless some *real* issues come up.
>
> I still think this will be, besides being shorter and nicer to read,
> more consistent with other simple use of "guard(); return ..." cases.
>

Scoped guards have the advantage of making it very obvious where the
critical section ends. It's really down to personal preference,
there's nothing wrong with either option.

Bart