Re: [PATCH] coresight: platform: check the availability of the endpoint before parse
From: Leo Yan
Date: Fri Mar 20 2026 - 04:28:58 EST
On Fri, Mar 20, 2026 at 03:31:12PM +0800, Jie Gan wrote:
> Check endpoint availability before parsing it. If parsing a connected
> endpoint fails, the probe is deferred until the endpoint becomes
> available, or eventually fails.
I want to clarify a bit the failure flow.
Does this mean coresight_find_device_by_fwnode() returns NULL when the
remote device is not found, resulting in -EPROBE_DEFER, but the probe
never waits for the remote device to become available?
> In some legacy cases, a replicator
> has two output ports where one is disabled and the other is available.
> The replicator probe always fails because the disabled endpoint never
> becomes available for parsing. In addition, there is no need to defer
> probing a device that is connected to a disabled device, which improves
> probe performance.
>
> Signed-off-by: Jie Gan <jie.gan@xxxxxxxxxxxxxxxx>
> ---
> drivers/hwtracing/coresight/coresight-platform.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/hwtracing/coresight/coresight-platform.c b/drivers/hwtracing/coresight/coresight-platform.c
> index 0ca3bd762454..e337b6e2bf32 100644
> --- a/drivers/hwtracing/coresight/coresight-platform.c
> +++ b/drivers/hwtracing/coresight/coresight-platform.c
> @@ -220,6 +220,8 @@ static int of_coresight_parse_endpoint(struct device *dev,
> rparent = of_coresight_get_port_parent(rep);
> if (!rparent)
> break;
> + if (!of_device_is_available(rparent))
> + break;
> if (of_graph_parse_endpoint(rep, &rendpoint))
> break;
>
>
> ---
> base-commit: b5d083a3ed1e2798396d5e491432e887da8d4a06
> change-id: 20260320-add-availability-check-4cb2ee6e520b
>
> Best regards,
> --
> Jie Gan <jie.gan@xxxxxxxxxxxxxxxx>
>