* Re: [PATCH v2] iio: gyro: adxrs290: Use guard(mutex) in lieu of manual lock+unlock [not found] ` <20260424113901.0508dbc2@jic23-huawei> @ 2026-04-27 22:04 ` Guilherme Dias 2026-04-28 8:01 ` Andy Shevchenko 0 siblings, 1 reply; 2+ messages in thread From: Guilherme Dias @ 2026-04-27 22:04 UTC (permalink / raw) To: Jonathan Cameron Cc: Andy Shevchenko, nish.malpani25, lars, Michael.Hennerich, dlechner, nuno.sa, andy, João Paulo Menezes Linaris, linux-iio Em sex., 24 de abr. de 2026 às 07:39, Jonathan Cameron <jic23@kernel.org> escreveu: > > On Fri, 24 Apr 2026 12:24:07 +0300 > Andy Shevchenko <andriy.shevchenko@intel.com> wrote: > > > On Thu, Apr 23, 2026 at 07:37:51PM -0300, Guilherme Dias wrote: > > > Use guard(mutex) to automatically release the lock on scope exit, > > > simplifying the error handling path and removing the need for > > > explicit unlock and goto-based cleanup. ... > > > /* exercise a bulk data capture starting from reg DATAX0... */ > > > ret = spi_write_then_read(st->spi, &tx, sizeof(tx), st->buffer.channels, > > > sizeof(st->buffer.channels)); > > > - if (ret < 0) > > > - goto out_unlock_notify; > > > - > > > - iio_push_to_buffers_with_timestamp(indio_dev, &st->buffer, > > > + if (ret >= 0) > No to this as well. Keep the error out of line. Which makes the use > of guard() here tricky. You could do a do { guard(); } while(0) loop so that > you can use break with out it being odd looking. > > (I don't like breaks out of scoped_guard() because it's non obvious scoped > guard is actually a loop. Thanks for the suggestion — just to confirm I understood correctly, do you mean something like this? ... do { guard(mutex)(&st->lock); /* exercise a bulk data capture starting from reg DATAX0... */ ret = spi_write_then_read(st->spi, &tx, sizeof(tx), st->buffer.channels, sizeof(st->buffer.channels)); if (ret < 0) break; iio_push_to_buffers_with_timestamp(indio_dev, &st->buffer, pf->timestamp); } while (0); iio_trigger_notify_done(indio_dev->trig); return IRQ_HANDLED; } Keeping the error out of line again. -- Kind regards, Guilherme Dias ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH v2] iio: gyro: adxrs290: Use guard(mutex) in lieu of manual lock+unlock 2026-04-27 22:04 ` [PATCH v2] iio: gyro: adxrs290: Use guard(mutex) in lieu of manual lock+unlock Guilherme Dias @ 2026-04-28 8:01 ` Andy Shevchenko 0 siblings, 0 replies; 2+ messages in thread From: Andy Shevchenko @ 2026-04-28 8:01 UTC (permalink / raw) To: Guilherme Dias Cc: Jonathan Cameron, nish.malpani25, lars, Michael.Hennerich, dlechner, nuno.sa, andy, João Paulo Menezes Linaris, linux-iio On Mon, Apr 27, 2026 at 07:04:23PM -0300, Guilherme Dias wrote: > Em sex., 24 de abr. de 2026 às 07:39, Jonathan Cameron > <jic23@kernel.org> escreveu: > > On Fri, 24 Apr 2026 12:24:07 +0300 > > Andy Shevchenko <andriy.shevchenko@intel.com> wrote: > > > On Thu, Apr 23, 2026 at 07:37:51PM -0300, Guilherme Dias wrote: ... > > > > /* exercise a bulk data capture starting from reg DATAX0... */ > > > > ret = spi_write_then_read(st->spi, &tx, sizeof(tx), st->buffer.channels, > > > > sizeof(st->buffer.channels)); > > > > - if (ret < 0) > > > > - goto out_unlock_notify; > > > > + if (ret >= 0) > > No to this as well. Keep the error out of line. Which makes the use > > of guard() here tricky. You could do a do { guard(); } while(0) loop so that > > you can use break with out it being odd looking. > > > > (I don't like breaks out of scoped_guard() because it's non obvious scoped > > guard is actually a loop. > > Thanks for the suggestion — just to confirm I understood correctly, do > you mean something like this? Yes, with proper indentation made. -- With Best Regards, Andy Shevchenko ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-04-28 8:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260423223958.100487-1-guilhermeabreu200105@usp.br>
[not found] ` <aes2tzgfXbuD6ccQ@ashevche-desk.local>
[not found] ` <20260424113901.0508dbc2@jic23-huawei>
2026-04-27 22:04 ` [PATCH v2] iio: gyro: adxrs290: Use guard(mutex) in lieu of manual lock+unlock Guilherme Dias
2026-04-28 8:01 ` Andy Shevchenko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox