From: Kent Gibson <warthog618@gmail.com>
To: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Cc: Bartosz Golaszewski <brgl@bgdev.pl>,
Linus Walleij <linus.walleij@linaro.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
linux-gpio <linux-gpio@vger.kernel.org>
Subject: Re: [libgpiod][PATCH 3/7] tests: event: extend test coverage for reading multiple line events at once
Date: Thu, 19 Dec 2019 14:05:18 +0000 [thread overview]
Message-ID: <20191219140518.GA12078@firefly> (raw)
In-Reply-To: <CAMpxmJVXgx-zduPT4pAFJw3QFFCb=7f3aXB-rhd2uXuKYefTSg@mail.gmail.com>
On Thu, Dec 19, 2019 at 02:48:48PM +0100, Bartosz Golaszewski wrote:
> czw., 19 gru 2019 o 14:35 Kent Gibson <warthog618@gmail.com> napisał(a):
> >
> > > +
> > > + ret = gpiod_line_request_both_edges_events(line, GPIOD_TEST_CONSUMER);
> > > + g_assert_cmpint(ret, ==, 0);
> > > +
> > > + gpiod_test_chip_set_pull(0, 4, 1);
> > > + usleep(10000);
> > > + gpiod_test_chip_set_pull(0, 4, 0);
> > > + usleep(10000);
> > > + gpiod_test_chip_set_pull(0, 4, 1);
> > > + usleep(10000);
> > > +
> >
> > I assume the sleep is to wait for the event to be generated from the
> > call gpiod_test_chip_set_pull, which is not guaranteed to occur before
> > the call returns, otherwise you can toggle the line too fast and may
> > miss events.
>
> Yes, this is why I put it there. Otherwise, some simulated interrupts
> were being dropped when they fired while the previous ones were still
> served.
>
> > Arbitrary sleeps in code, including tests, should be avoided as they
> > are brittle and obsure what you are actually waiting for.
>
> Indeed.
>
> > An alternative in this case is to add a second event fd and wait for
> > the event to arrive there before continuing.
> >
>
> I'm not sure I understand. We can't have two event fd's for the same
> line. Or are you thinking about setting up a second line, generating
> events on it and consuming them so that we can rely on the timing to
> make sure the events were registered for the first one too?
>
I was thinking of two event fds on the one line, and you are
correct, there can only be one, so that wont work.
Wrt using two lines, I'm not sure ordering can be guaranteed as you
end up with two separate debugfs writes...
Kent.
next prev parent reply other threads:[~2019-12-19 14:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-18 14:24 [libgpiod][PATCH 0/7] teach libgpiod to read multiple line events at once Bartosz Golaszewski
2019-12-18 14:24 ` [libgpiod][PATCH 1/7] core: use gpiod_line_event_get_fd() in gpiod_line_event_read() Bartosz Golaszewski
2019-12-18 14:24 ` [libgpiod][PATCH 2/7] core: provide functions for reading multiple line events at once Bartosz Golaszewski
2019-12-18 14:24 ` [libgpiod][PATCH 3/7] tests: event: extend test coverage " Bartosz Golaszewski
2019-12-19 13:35 ` Kent Gibson
2019-12-19 13:48 ` Bartosz Golaszewski
2019-12-19 14:05 ` Kent Gibson [this message]
2019-12-19 14:07 ` Bartosz Golaszewski
2019-12-19 14:36 ` Kent Gibson
2019-12-19 16:19 ` Bartosz Golaszewski
2019-12-24 12:11 ` Bartosz Golaszewski
2019-12-18 14:24 ` [libgpiod][PATCH 4/7] bindings: cxx: provide a method for reading multiple line events Bartosz Golaszewski
2019-12-18 14:24 ` [libgpiod][PATCH 5/7] bindings: cxx: tests: add a test-case " Bartosz Golaszewski
2019-12-18 14:24 ` [libgpiod][PATCH 6/7] bindings: python: add a method " Bartosz Golaszewski
2019-12-18 14:24 ` [libgpiod][PATCH 7/7] bindings: python: tests: add a test-case " Bartosz Golaszewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191219140518.GA12078@firefly \
--to=warthog618@gmail.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bgolaszewski@baylibre.com \
--cc=brgl@bgdev.pl \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox