OSDN Git Service

microblaze: get cpu node with of_get_cpu_node
authorRob Herring <robh@kernel.org>
Mon, 27 Aug 2018 18:27:03 +0000 (13:27 -0500)
committerRob Herring <robh@kernel.org>
Fri, 28 Sep 2018 20:30:26 +0000 (15:30 -0500)
"device_type" use is deprecated for FDT though it has continued to be used
for nodes like cpu nodes. Use of_get_cpu_node() instead which works using
node names by default. This will allow the eventually removal of cpu
device_type properties.

Also, fix a leaked reference by adding a missing of_node_put.

Cc: Michal Simek <monstr@monstr.eu>
Signed-off-by: Rob Herring <robh@kernel.org>
arch/microblaze/kernel/cpu/cpuinfo.c

index 96b3f26..ef2f494 100644 (file)
@@ -89,9 +89,9 @@ static struct device_node *cpu;
 
 void __init setup_cpuinfo(void)
 {
-       cpu = (struct device_node *) of_find_node_by_type(NULL, "cpu");
+       cpu = of_get_cpu_node(0, NULL);
        if (!cpu)
-               pr_err("You don't have cpu!!!\n");
+               pr_err("You don't have cpu or are missing cpu reg property!!!\n");
 
        pr_info("%s: initialising\n", __func__);
 
@@ -117,6 +117,8 @@ void __init setup_cpuinfo(void)
        if (cpuinfo.mmu_privins)
                pr_warn("%s: Stream instructions enabled"
                        " - USERSPACE CAN LOCK THIS KERNEL!\n", __func__);
+
+       of_node_put(cpu);
 }
 
 void __init setup_cpuinfo_clk(void)