clk: mvebu: Use of_get_cpu_hwid() to read CPU ID

Use of_get_cpu_hwid() rather than the open coded reading of the CPU
nodes "reg" property. The existing code is in fact wrong as the "reg"
address cells size is 2 cells for arm64. The existing code happens to
work because the DTS files are wrong as well.

Signed-off-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230327-mvebu-clk-fixes-v2-2-8333729ee45d@kernel.org
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
This commit is contained in:
Rob Herring 2023-06-09 12:13:46 -06:00 committed by Stephen Boyd
parent 1ab391684c
commit 1949c0ebc8

View file

@ -253,12 +253,12 @@ static int ap_cpu_clock_probe(struct platform_device *pdev)
*/
nclusters = 1;
for_each_of_cpu_node(dn) {
int cpu, err;
u64 cpu;
err = of_property_read_u32(dn, "reg", &cpu);
if (WARN_ON(err)) {
cpu = of_get_cpu_hwid(dn, 0);
if (WARN_ON(cpu == OF_BAD_ADDR)) {
of_node_put(dn);
return err;
return -EINVAL;
}
/* If cpu2 or cpu3 is enabled */
@ -288,12 +288,12 @@ static int ap_cpu_clock_probe(struct platform_device *pdev)
struct clk_init_data init;
const char *parent_name;
struct clk *parent;
int cpu, err;
u64 cpu;
err = of_property_read_u32(dn, "reg", &cpu);
if (WARN_ON(err)) {
cpu = of_get_cpu_hwid(dn, 0);
if (WARN_ON(cpu == OF_BAD_ADDR)) {
of_node_put(dn);
return err;
return -EINVAL;
}
cluster_index = cpu & APN806_CLUSTER_NUM_MASK;