All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Bartosz Golaszewski <brgl@bgdev.pl>
Cc: Sakari Ailus <sakari.ailus@linux.intel.com>,
	Linus Walleij <linus.walleij@linaro.org>,
	Daniel Scally <djrscally@gmail.com>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Danilo Krummrich <dakr@kernel.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	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 3/9] software node: allow referencing firmware nodes
Date: Tue, 21 Oct 2025 12:14:47 +0300	[thread overview]
Message-ID: <aPdPB_usMzyA7rxv@smile.fi.intel.com> (raw)
In-Reply-To: <CAMRc=Me0YyBK5DtyJO4ZZvfvnhdtJx92_ktQA_eVhqFEkh=Bqg@mail.gmail.com>

On Tue, Oct 21, 2025 at 02:06:36AM -0700, Bartosz Golaszewski wrote:
> On Tue, 21 Oct 2025 08:54:22 +0200, Sakari Ailus
> <sakari.ailus@linux.intel.com> said:
> > On Mon, Oct 20, 2025 at 01:26:59PM +0200, Bartosz Golaszewski wrote:
> >> On Mon, Oct 20, 2025 at 12:05 PM Andy Shevchenko
> >> <andriy.shevchenko@linux.intel.com> wrote:

...

> >> > > > Can't we always have an fwnode reference?
> >> > >
> >> > > Unfortunately no. A const struct software_node is not yet a full
> >> > > fwnode, it's just a template that becomes an actual firmware node when
> >> > > it's registered with the swnode framework. However in order to allow
> >> > > creating a graph of software nodes before we register them, we need a
> >> > > way to reference those templates and then look them up internally in
> >> > > swnode code.
> >> >
> >> > Strange that you need this way. The IPU3 bridge driver (that creates a graph of
> >> > fwnodes at run-time for being consumed by the respective parts of v4l2
> >> > framework) IIRC has no such issue. Why your case is different?
> >>
> >> From what I can tell the ipu-bridge driver only references software
> >> nodes (as struct software_node) from other software nodes. I need to
> >> reference ANY implementation of firmware node from a software node.
> >
> > Yes, the IPU bridge only references software nodes.
> >
> > I might use two distinct pointers instead of an union and an integer field
> > that tells which type is the right one. I don't expect more such cases
> > here; it's either a software node or an fwnode handle (ACPI or OF node).
> 
> Like:
> 
> struct software_node_ref_args {
> 	const struct software_node *swnode;
> 	struct fwnode_handle *fwnode;
> 	unsigned int nargs;
> 	u64 args[NR_FWNODE_REFERENCE_ARGS];
> };
> 
> And then if swnode is NULL then assume fwnode must not be?
> 
> I'm not sure if it's necessarily better but I don't have a strong opinion on
> this either.

At least it is slightly closer to what I ideally want to have (but not in this
design seems), so +1 to Sakari's proposal.

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2025-10-21  9:14 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-06 13:00 [PATCH 0/9] reset: rework reset-gpios handling Bartosz Golaszewski
2025-10-06 13:00 ` [PATCH 1/9] software node: read the reference args via the fwnode API Bartosz Golaszewski
2025-10-13 20:05   ` Andy Shevchenko
2025-10-22  7:51     ` Bartosz Golaszewski
2025-10-22  8:24       ` Sakari Ailus
2025-10-22  8:35         ` Bartosz Golaszewski
2025-10-06 13:00 ` [PATCH 2/9] software node: increase the reference of the swnode by its fwnode Bartosz Golaszewski
2025-10-06 13:00 ` [PATCH 3/9] software node: allow referencing firmware nodes Bartosz Golaszewski
2025-10-13 20:11   ` Andy Shevchenko
2025-10-20  8:06     ` Bartosz Golaszewski
2025-10-20 10:05       ` Andy Shevchenko
2025-10-20 11:26         ` Bartosz Golaszewski
2025-10-21  6:54           ` Sakari Ailus
2025-10-21  9:06             ` Bartosz Golaszewski
2025-10-21  9:14               ` Andy Shevchenko [this message]
2025-10-06 13:00 ` [PATCH 4/9] gpio: swnode: don't use the swnode's name as the key for GPIO lookup Bartosz Golaszewski
2025-10-06 13:00 ` [PATCH 5/9] gpio: swnode: update the property definitions Bartosz Golaszewski
2025-10-06 13:00 ` [PATCH 6/9] reset: order includes alphabetically in reset/core.c Bartosz Golaszewski
2025-10-06 15:20   ` Philipp Zabel
2025-10-06 13:00 ` [PATCH 7/9] reset: make the provider of reset-gpios the parent of the reset device Bartosz Golaszewski
2025-10-06 15:19   ` Philipp Zabel
2025-10-20 15:25     ` Bartosz Golaszewski
2025-10-21  9:17       ` Philipp Zabel
2025-10-21  9:27         ` Bartosz Golaszewski
2025-10-21  9:31           ` Philipp Zabel
2025-10-21  9:39             ` Bartosz Golaszewski
2025-10-21 14:55               ` Andy Shevchenko
2025-10-21 15:03                 ` Andy Shevchenko
2025-10-21 15:23                   ` Bartosz Golaszewski
2025-10-21 15:47                     ` Andy Shevchenko
2025-10-22  8:39                       ` Philipp Zabel
2025-10-22 12:17                         ` Bartosz Golaszewski
2025-10-22 16:11                           ` Andy Shevchenko
2025-10-20 15:56     ` Bartosz Golaszewski
2025-10-06 13:00 ` [PATCH 8/9] reset: gpio: convert the driver to using the auxiliary bus Bartosz Golaszewski
2025-10-06 15:22   ` Philipp Zabel
2025-10-06 13:00 ` [PATCH 9/9] reset: gpio: use software nodes to setup the GPIO lookup Bartosz Golaszewski
2025-10-06 15:55   ` Philipp Zabel
2025-10-10 14:07     ` Bartosz Golaszewski
2025-10-17  7:12 ` [PATCH 0/9] reset: rework reset-gpios handling Bartosz Golaszewski
  -- strict thread matches above, loose matches on Subject: below --
2025-10-18 19:28 [PATCH 3/9] software node: allow referencing firmware nodes Andy Shevchenko

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=aPdPB_usMzyA7rxv@smile.fi.intel.com \
    --to=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=p.zabel@pengutronix.de \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.