[PATCH] coresight: platform: check the availability of the endpoint before parse

Leo Yan leo.yan at arm.com
Fri Mar 20 01:25:49 PDT 2026


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 at oss.qualcomm.com>
> ---
>  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 at oss.qualcomm.com>
> 



More information about the linux-arm-kernel mailing list