Re: [PATCH 3/5] coresight: cti: Use of_cpu_phandle_to_id for grabbing CPU id

From: Jonathan Cameron
Date: Tue Jul 08 2025 - 04:36:47 EST


On Mon, 7 Jul 2025 16:04:12 +0100
Alireza Sanaee <alireza.sanaee@xxxxxxxxxx> wrote:

> Use the newly created API to grab CPU id.
>
> Signed-off-by: Alireza Sanaee <alireza.sanaee@xxxxxxxxxx>
Here is the justification for allowing the node parameter to be null.

> ---
> .../hwtracing/coresight/coresight-cti-platform.c | 15 +++------------
> 1 file changed, 3 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/hwtracing/coresight/coresight-cti-platform.c b/drivers/hwtracing/coresight/coresight-cti-platform.c
> index d0ae10bf6128..cd821e926792 100644
> --- a/drivers/hwtracing/coresight/coresight-cti-platform.c
> +++ b/drivers/hwtracing/coresight/coresight-cti-platform.c
> @@ -41,21 +41,12 @@
> */
> static int of_cti_get_cpu_at_node(const struct device_node *node)
> {
> + struct device_node *dn = NULL;
> int cpu;
> - struct device_node *dn;
>
> - if (node == NULL)
> - return -1;
> -
> - dn = of_parse_phandle(node, "cpu", 0);
> - /* CTI affinity defaults to no cpu */
> - if (!dn)
> - return -1;
> - cpu = of_cpu_node_to_id(dn);
> + cpu = of_cpu_phandle_to_id(node, &dn, 0);
> of_node_put(dn);

With change suggested on patch 1 this becomes

static int of_cti_get_cpu_at_node(const struct device_node *node)
{
int cpu = of_cpu_phandle_to_id(node, NULL, 0);

return (cpu < 0) ? -1 : cpu;
}

> -
> - /* No Affinity if no cpu nodes are found */
> - return (cpu < 0) ? -1 : cpu;
> + return cpu;

This an result in -ENODEV hence juggle above. No idea
why the caller will care but I guess it does or this code
would not be here!

> }
>
> #else