From: Kent Gibson <warthog618@gmail.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Linus Walleij <linus.walleij@linaro.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: Re: [PATCH v2 2/6] gpio: cdev: prepare gpio_desc_to_lineinfo() for being called from atomic
Date: Mon, 14 Oct 2024 16:32:30 +0800 [thread overview]
Message-ID: <20241014083230.GA76995@rigel> (raw)
In-Reply-To: <CAMRc=MewhPi3O6qM7E699gpwcegNiAsizioDjREn7cOM1xHevA@mail.gmail.com>
On Mon, Oct 14, 2024 at 09:45:19AM +0200, Bartosz Golaszewski wrote:
> On Mon, Oct 14, 2024 at 3:58 AM Kent Gibson <warthog618@gmail.com> wrote:
> >
> > On Thu, Oct 10, 2024 at 11:10:23AM +0200, Bartosz Golaszewski wrote:
> > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > >
> > > In order to prepare gpio_desc_to_lineinfo() to being called from atomic
> > > context, add a new argument - bool atomic - which, if set, indicates
> > > that no sleeping functions must be called (currently: only
> > > pinctrl_gpio_can_use_line()).
> > >
> > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > > ---
> > > unsigned long dflags;
> > > const char *label;
> > > @@ -2402,9 +2402,13 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc,
> > > test_bit(FLAG_USED_AS_IRQ, &dflags) ||
> > > test_bit(FLAG_EXPORT, &dflags) ||
> > > test_bit(FLAG_SYSFS, &dflags) ||
> > > - !gpiochip_line_is_valid(guard.gc, info->offset) ||
> > > - !pinctrl_gpio_can_use_line(guard.gc, info->offset))
> > > + !gpiochip_line_is_valid(guard.gc, info->offset))
> > > info->flags |= GPIO_V2_LINE_FLAG_USED;
> > > +
> > > + if (!atomic) {
> > > + if (!pinctrl_gpio_can_use_line(guard.gc, info->offset))
> > > + info->flags |= GPIO_V2_LINE_FLAG_USED;
> > > + }
> > >
> >
> > Should be else if.
> >
>
> If we're not atomic, let's call pinctrl_gpio_can_use_line() and update
> the flag accordingly. If we're in atomic, just don't do it. In any
> case do the rest. Looks good to me, am I missing something?
>
Previously the preceding if short circuits and doesn't perform the
pinctl check if ANY of the preceding checks are true.
The pinctrl check should be in an else-if to get the same behaviour.
I am refering to the if (!atomic), btw, not the if in its body.
(that is why my comment is placed after the closing bracket)
Cheers,
Kent.
next prev parent reply other threads:[~2024-10-14 8:32 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-10 9:10 [PATCH v2 0/6] gpio: notify user-space about config changes in the kernel Bartosz Golaszewski
2024-10-10 9:10 ` [PATCH v2 1/6] gpiolib: notify user-space when a driver requests its own desc Bartosz Golaszewski
2024-10-10 9:10 ` [PATCH v2 2/6] gpio: cdev: prepare gpio_desc_to_lineinfo() for being called from atomic Bartosz Golaszewski
2024-10-14 1:58 ` Kent Gibson
2024-10-14 7:45 ` Bartosz Golaszewski
2024-10-14 8:32 ` Kent Gibson [this message]
2024-10-14 8:41 ` Bartosz Golaszewski
2024-10-10 9:10 ` [PATCH v2 3/6] gpiolib: add a per-gpio_device line state notification workqueue Bartosz Golaszewski
2024-10-10 9:10 ` [PATCH v2 4/6] gpio: cdev: put emitting the line state events on a workqueue Bartosz Golaszewski
2024-10-14 2:09 ` Kent Gibson
2024-10-14 7:47 ` Bartosz Golaszewski
2024-10-10 9:10 ` [PATCH v2 5/6] gpiolib: switch the line state notifier to atomic Bartosz Golaszewski
2024-10-14 2:11 ` Kent Gibson
2024-10-14 7:48 ` Bartosz Golaszewski
2024-10-14 9:24 ` Kent Gibson
2024-10-14 9:27 ` Bartosz Golaszewski
2024-10-14 9:29 ` Kent Gibson
2024-10-14 9:32 ` Bartosz Golaszewski
2024-10-14 9:55 ` Kent Gibson
2024-10-14 9:57 ` Bartosz Golaszewski
2024-10-10 9:10 ` [PATCH v2 6/6] gpiolib: notify user-space about in-kernel line state changes Bartosz Golaszewski
2024-10-14 2:24 ` Kent Gibson
2024-10-14 8:13 ` Bartosz Golaszewski
2024-10-14 8:42 ` Kent Gibson
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=20241014083230.GA76995@rigel \
--to=warthog618@gmail.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@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;
as well as URLs for NNTP newsgroup(s).