All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Chen-Yu Tsai" <wenst@chromium.org>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v7 01/16] device property: Add fwnode_graph_get_port_by_id()
Date: Fri, 24 Jul 2026 09:01:32 +0000	[thread overview]
Message-ID: <20260724090133.33EF21F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260724084328.3943997-2-wenst@chromium.org>

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] fwnode_graph_get_port_by_id() silently fails to find port nodes that do not contain any endpoints, breaking parity with of_graph_get_port_by_id() and limiting its intended use case.
--

--- Patch [1]: [PATCH v7 01/16] device property: Add fwnode_graph_get_port_by_id() ---
commit d1b7173e906ae494c3f7042d2841d794c9508816
Author: Chen-Yu Tsai <wenst@chromium.org>

device property: Add fwnode_graph_get_port_by_id()

This commit introduces a helper to retrieve a port firmware node by its ID.
It is intended to support USB power sequencing by allowing drivers to get
references to port nodes that might describe power topology.

> diff --git a/drivers/base/property.c b/drivers/base/property.c
> index e08eadd66f4f9..0bd45f8b01c14 100644
> --- a/drivers/base/property.c
> +++ b/drivers/base/property.c

[ ... ]

> +struct fwnode_handle *fwnode_graph_get_port_by_id(struct fwnode_handle *fwnode,
> +						  u32 id,
> +						  unsigned long flags)
> +{
> +	struct fwnode_handle *ep;
> +
> +	ep = fwnode_graph_get_endpoint_by_id(fwnode, id, 0,
> +					     flags | FWNODE_GRAPH_ENDPOINT_NEXT);
> +	if (!ep)
> +		return NULL;

[Severity: High]
Will this silently fail to find valid port nodes if they don't contain any
endpoints?

The underlying graph iteration (e.g. of_graph_get_next_endpoint())
intentionally skips port nodes that do not contain any endpoint subnodes.
If a device has a port subnode used solely for power topology (like a
vbus-supply property) without any endpoints, fwnode_graph_get_endpoint_by_id()
would return NULL here.

Does this limit the intended use case for USB power sequencing, where ports
might only contain power properties but no endpoints, and break parity with
of_graph_get_port_by_id()?

> +
> +	return fwnode_get_next_parent(ep);
> +}
> +EXPORT_SYMBOL_GPL(fwnode_graph_get_port_by_id);

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260724084328.3943997-1-wenst@chromium.org?part=1

  reply	other threads:[~2026-07-24  9:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-24  8:43 [PATCH v7 00/16] arm64: mediatek: Add M.2 E-key slot on Chromebooks Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 01/16] device property: Add fwnode_graph_get_port_by_id() Chen-Yu Tsai
2026-07-24  9:01   ` sashiko-bot [this message]
2026-07-24  8:43 ` [PATCH v7 02/16] device property: Add fwnode_graph_get_next_port_endpoint() Chen-Yu Tsai
2026-07-24  9:03   ` sashiko-bot
2026-07-24  8:43 ` [PATCH v7 03/16] power: sequencing: Add pwrseq_get_state() Chen-Yu Tsai
2026-07-24 11:09   ` Bartosz Golaszewski
2026-07-24  8:43 ` [PATCH v7 04/16] usb: hub: Use assign_bit() in usb_hub_set_port_power() Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 05/16] usb: hub: Return actual error from hub_configure() in hub_probe() Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 06/16] usb: hub: Associate port@ fwnode with USB port device Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 07/16] usb: core: Move struct usb_port and related APIs to port.h Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 08/16] usb: hub: Pass |struct usb_port*| to usb_port_is_power_on() Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 09/16] usb: hub: Use usb_hub_set_port_power() to control port power everywhere Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 10/16] usb: hub: Power on connected M.2 E-key connectors with power sequencing API Chen-Yu Tsai
2026-07-24  9:02   ` sashiko-bot
2026-07-24  8:43 ` [PATCH v7 11/16] dt-bindings: usb: mediatek,mtk-xhci: Switch to ports for USB connections Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 12/16] power: sequencing: pcie-m2: support matching on remote "port" node Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 13/16] power: sequencing: pcie-m2: Add usb and sdio targets for E-key connector Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 14/16] power: sequencing: pcie-m2: Split Bluetooth unit based on interface Chen-Yu Tsai
2026-07-24  8:43 ` [PATCH v7 15/16] arm64: dts: mediatek: mt8195-cherry: Add M.2 E-key slot Chen-Yu Tsai
2026-07-24  9:03   ` sashiko-bot
2026-07-24  8:43 ` [PATCH v7 16/16] arm64: dts: mediatek: mt8188-geralt: Add WiFi/BT as " Chen-Yu Tsai

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=20260724090133.33EF21F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    --cc=wenst@chromium.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 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.