From: Philipp Zabel <p.zabel@pengutronix.de>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Linus Walleij <linus.walleij@linaro.org>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Daniel Scally <djrscally@gmail.com>,
Heikki Krogerus <heikki.krogerus@linux.intel.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael@kernel.org>,
Danilo Krummrich <dakr@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-acpi@vger.kernel.org,
Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: Re: [PATCH v6 8/8] reset: gpio: use software nodes to setup the GPIO lookup
Date: Wed, 19 Nov 2025 09:41:21 +0100 [thread overview]
Message-ID: <66f0428f889e9d8d35e3215936da9bcc53afe1c3.camel@pengutronix.de> (raw)
In-Reply-To: <CAMRc=MfsyZ3wqMSQ9jcTFHp2RUrZ=Ge1xdPY44VAGqJ9_XD7QA@mail.gmail.com>
On Mi, 2025-11-19 at 00:28 -0800, Bartosz Golaszewski wrote:
> On Wed, 19 Nov 2025 09:19:30 +0100, Philipp Zabel <p.zabel@pengutronix.de> said:
> > On Di, 2025-11-18 at 18:08 +0100, Bartosz Golaszewski wrote:
> > > On Tue, Nov 18, 2025 at 5:44 PM Philipp Zabel <p.zabel@pengutronix.de> wrote:
> > > >
> > > > On Do, 2025-11-06 at 15:32 +0100, Bartosz Golaszewski wrote:
> > > > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > > > >
> > > > > GPIO machine lookup is a nice mechanism for associating GPIOs with
> > > > > consumers if we don't know what kind of device the GPIO provider is or
> > > > > when it will become available. However in the case of the reset-gpio, we
> > > > > are already holding a reference to the device and so can reference its
> > > > > firmware node. Let's setup a software node that references the relevant
> > > > > GPIO and attach it to the auxiliary device we're creating.
> > > > >
> > > > > Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
> > > > > Acked-by: Linus Walleij <linus.walleij@linaro.org>
> > > > > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> > > > > ---
> > > >
> > > > I'll apply this with the following patch squashed in:
> >
> > Strike that, I'll have to wait for the SPI issue to be resolved.
> >
> > > > diff --git a/drivers/reset/core.c b/drivers/reset/core.c
> > > > index 3edf04ae8a95..8a7b112a9a77 100644
> > > > --- a/drivers/reset/core.c
> > > > +++ b/drivers/reset/core.c
> > > > @@ -945,7 +945,7 @@ static int __reset_add_reset_gpio_device(const struct of_phandle_args *args)
> > > > of_node_get(rgpio_dev->of_args.np);
> > > >
> > > > rgpio_dev->swnode = fwnode_create_software_node(properties, NULL);
> > > > - ret = PTR_ERR(rgpio_dev->swnode);
> > > > + ret = PTR_ERR_OR_ZERO(rgpio_dev->swnode);
> > > > if (ret)
> > > > goto err_put_of_node;
> > >
> > > Huh? Why?
> >
> > PTR_ERR(ptr) is just (long)ptr, so a valid swnode pointer makes ret
> > non-zero and takes us into the error path. PTR_ERR_OR_ZERO() includes
> > the IS_ERR() check and returns 0 for non-error pointers.
> >
> > And there is a (false-positive) sparse warning:
> >
> > drivers/reset/core.c:978 __reset_add_reset_gpio_device() warn: passing zero to 'PTR_ERR'
> >
> > I think it would be better to return to the explicit IS_ERR() check
> > from v5.
> >
>
> Yes, it was like this in my initial submission and seems like it's more
> readable and doesn't cause this confusion. I will go back to it. Though
> I'm not sure if the SPI issue will require a v5
v7 :)
If there are no other changes required, I can fix it up:
https://git.pengutronix.de/cgit/pza/linux/commit/?id=8e72a48fc1df
> - I'm looking into fixing it in the affected driver.
Great, can we make sure the fix is applied first, to avoid breaking git
bisect?
regards
Philipp
next prev parent reply other threads:[~2025-11-19 8:41 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-06 14:32 [PATCH v6 0/8] reset: rework reset-gpios handling Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 1/8] software node: read the reference args via the fwnode API Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 2/8] software node: increase the reference of the swnode by its fwnode Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 3/8] software node: allow referencing firmware nodes Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 4/8] gpio: swnode: allow referencing GPIO chips by " Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 5/8] reset: order includes alphabetically in reset/core.c Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 6/8] reset: make the provider of reset-gpios the parent of the reset device Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 7/8] reset: gpio: convert the driver to using the auxiliary bus Bartosz Golaszewski
2025-11-06 14:32 ` [PATCH v6 8/8] reset: gpio: use software nodes to setup the GPIO lookup Bartosz Golaszewski
2025-11-18 16:44 ` Philipp Zabel
2025-11-18 17:08 ` Bartosz Golaszewski
2025-11-18 18:09 ` Andy Shevchenko
2025-11-19 8:19 ` Philipp Zabel
2025-11-19 8:28 ` Bartosz Golaszewski
2025-11-19 8:41 ` Philipp Zabel [this message]
2025-11-10 9:02 ` [PATCH v6 0/8] reset: rework reset-gpios handling Philipp Zabel
2025-11-10 16:57 ` Bartosz Golaszewski
2025-11-13 10:30 ` Philipp Zabel
2025-11-13 12:16 ` Bartosz Golaszewski
2025-11-13 12:39 ` Bartosz Golaszewski
2025-11-18 11:12 ` Greg Kroah-Hartman
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=66f0428f889e9d8d35e3215936da9bcc53afe1c3.camel@pengutronix.de \
--to=p.zabel@pengutronix.de \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bartosz.golaszewski@linaro.org \
--cc=brgl@bgdev.pl \
--cc=dakr@kernel.org \
--cc=djrscally@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.krogerus@linux.intel.com \
--cc=krzk@kernel.org \
--cc=linus.walleij@linaro.org \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=sakari.ailus@linux.intel.com \
/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).