From: Jonathan Cameron <Jonathan.Cameron@huawei.com>
To: Alireza Sanaee <alireza.sanaee@huawei.com>
Cc: <krzk@kernel.org>, <robh@kernel.org>,
<coresight@lists.linaro.org>, <devicetree@vger.kernel.org>,
<dianders@chromium.org>, <james.clark@linaro.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-kernel@vger.kernel.org>,
<linux-perf-users@vger.kernel.org>, <linuxarm@huawei.com>,
<mark.rutland@arm.com>, <mike.leach@linaro.org>,
<ruanjinjie@huawei.com>, <saravanak@google.com>,
<shameerali.kolothum.thodi@huawei.com>
Subject: Re: [PATCH v2 2/5] arch_topology: update CPU map to use the new API
Date: Fri, 11 Jul 2025 10:25:39 +0100 [thread overview]
Message-ID: <20250711102539.000065b6@huawei.com> (raw)
In-Reply-To: <20250708151502.561-3-alireza.sanaee@huawei.com>
On Tue, 8 Jul 2025 16:14:59 +0100
Alireza Sanaee <alireza.sanaee@huawei.com> wrote:
> Cleans up the cpu-map generation using the created API.
>
> Signed-off-by: Alireza Sanaee <alireza.sanaee@huawei.com>
> ---
> drivers/base/arch_topology.c | 16 ++++++++--------
> 1 file changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/base/arch_topology.c b/drivers/base/arch_topology.c
> index 1037169abb45..ccc73bfae90d 100644
> --- a/drivers/base/arch_topology.c
> +++ b/drivers/base/arch_topology.c
> @@ -473,19 +473,19 @@ static unsigned int max_smt_thread_num = 1;
> */
> static int __init get_cpu_for_node(struct device_node *node)
> {
> + struct device_node *cpu_node;
Initialize to NULL. Whilst we can see that it will always be initalized
static analysis tools and compilers probably can't.
> int cpu;
> - struct device_node *cpu_node __free(device_node) =
> - of_parse_phandle(node, "cpu", 0);
>
> - if (!cpu_node)
> - return -1;
> -
> - cpu = of_cpu_node_to_id(cpu_node);
> - if (cpu >= 0)
> + cpu = of_cpu_phandle_to_id(node, &cpu_node, 0);
> + if (cpu >= 0) {
> topology_parse_cpu_capacity(cpu_node, cpu);
> - else
> + of_node_put(cpu_node);
> + } else if (cpu == -ENODEV) {
> pr_info("CPU node for %pOF exist but the possible cpu range is :%*pbl\n",
> cpu_node, cpumask_pr_args(cpu_possible_mask));
> + of_node_put(cpu_node);
> + } else
> + return -1;
I'd be tempted to make this more conventional with error path out of line.
cpu = of_cpu_phandle_to_id(node, &cpu_node, 0);
if (cpu == -ENODEV) {
pr_info("CPU node for %pOF exist but the possible cpu range is :%*pbl\n",
cpu_node, cpumask_pr_args(cpu_possible_mask));
return -ENODEV;
} else if (cpu < 0) {
` return -1; /* to keep ABI - it's odd but not something we should touch! */
// note this avoids need for the helper to return -1, it can return -EINVAL to indicate
// an invalid parameter.
}
topology_parse_cpu_capacity(cpu_node, cpu);
of_node_put(cpu_node);
return cpu;
>
> return cpu;
> }
next prev parent reply other threads:[~2025-07-11 10:53 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-08 15:14 [PATCH v2 0/5] Refactoring finding CPU phandles in DT Alireza Sanaee
2025-07-08 15:14 ` [PATCH v2 1/5] of: add infra for finding CPU id from phandle Alireza Sanaee
2025-07-11 9:17 ` Jonathan Cameron
2025-07-11 9:35 ` Jonathan Cameron
2025-07-08 15:14 ` [PATCH v2 2/5] arch_topology: update CPU map to use the new API Alireza Sanaee
2025-07-11 9:25 ` Jonathan Cameron [this message]
2025-07-08 15:15 ` [PATCH v2 3/5] coresight: cti: Use of_cpu_phandle_to_id for grabbing CPU id Alireza Sanaee
2025-07-11 9:28 ` Jonathan Cameron
2025-07-11 15:55 ` Mike Leach
2025-07-11 16:08 ` Jonathan Cameron
2025-07-11 16:08 ` Jonathan Cameron
2025-07-08 15:15 ` [PATCH v2 4/5] coresight: " Alireza Sanaee
2025-07-11 9:30 ` Jonathan Cameron
2025-07-08 15:15 ` [PATCH v2 5/5] perf/arm-dsu: refactor cpu id retrieval via new API of_cpu_phandle_to_id Alireza Sanaee
2025-07-11 9:36 ` Jonathan Cameron
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=20250711102539.000065b6@huawei.com \
--to=jonathan.cameron@huawei.com \
--cc=alireza.sanaee@huawei.com \
--cc=coresight@lists.linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=dianders@chromium.org \
--cc=james.clark@linaro.org \
--cc=krzk@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linuxarm@huawei.com \
--cc=mark.rutland@arm.com \
--cc=mike.leach@linaro.org \
--cc=robh@kernel.org \
--cc=ruanjinjie@huawei.com \
--cc=saravanak@google.com \
--cc=shameerali.kolothum.thodi@huawei.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.