summaryrefslogtreecommitdiff
path: root/arch/arm64/kernel
diff options
context:
space:
mode:
authorAbhimanyu Kapur <abhimany@codeaurora.org>2014-03-05 20:21:45 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-22 11:15:55 -0700
commite901e28d560601d5fa52b3c8a58c62f764ec1642 (patch)
treef61a1ef6398b0dc38353a2fcd043335037a089f8 /arch/arm64/kernel
parentf9d0fc3347e8a6a6b7a1be153507476b1bcd9f63 (diff)
ARM/ARM64: Introduce arch_read_hardware_id
Moving towards device tree and arm single binary refering to machine descriptor name for hardware id information under /proc/cpuinfo is not suitable for certain soc vendors. Add a hook for soc vendors to supply a per-soc hardware read method. Change-Id: Ifcccdffa3c0e1e8b5f96837eb1c023e468d4c287 Signed-off-by: Abhimanyu Kapur <abhimany@codeaurora.org> [satyap: trivial merge conflict resolution and move changes in arch/arm64/kernel from setup.c to cpuinfo.c to align with kernel 4.4] Signed-off-by: Satya Durga Srinivasu Prabhala <satyap@codeaurora.org>
Diffstat (limited to 'arch/arm64/kernel')
-rw-r--r--arch/arm64/kernel/cpuinfo.c12
-rw-r--r--arch/arm64/kernel/setup.c7
2 files changed, 12 insertions, 7 deletions
diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c
index 1dfdb2fb7d35..0dce71d2fe5b 100644
--- a/arch/arm64/kernel/cpuinfo.c
+++ b/arch/arm64/kernel/cpuinfo.c
@@ -31,6 +31,12 @@
#include <linux/sched.h>
#include <linux/smp.h>
#include <linux/delay.h>
+#include <linux/of_fdt.h>
+
+char* (*arch_read_hardware_id)(void);
+EXPORT_SYMBOL(arch_read_hardware_id);
+
+static const char *machine_name;
/*
* In case the boot CPU is hotpluggable, we record its initial state and
@@ -149,6 +155,12 @@ static int c_show(struct seq_file *m, void *v)
seq_printf(m, "CPU revision\t: %d\n\n", MIDR_REVISION(midr));
}
+ machine_name = of_flat_dt_get_machine_name();
+ if (!arch_read_hardware_id)
+ seq_printf(m, "Hardware\t: %s\n", machine_name);
+ else
+ seq_printf(m, "Hardware\t: %s\n", arch_read_hardware_id());
+
return 0;
}
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c
index 99553b164f25..f307c089cb93 100644
--- a/arch/arm64/kernel/setup.c
+++ b/arch/arm64/kernel/setup.c
@@ -70,10 +70,6 @@ EXPORT_SYMBOL(boot_reason);
unsigned int cold_boot;
EXPORT_SYMBOL(cold_boot);
-char* (*arch_read_hardware_id)(void);
-EXPORT_SYMBOL(arch_read_hardware_id);
-
-static const char *machine_name;
phys_addr_t __fdt_pointer __initdata;
/*
@@ -204,9 +200,6 @@ static void __init setup_machine_fdt(phys_addr_t dt_phys)
}
dump_stack_set_arch_desc("%s (DT)", of_flat_dt_get_machine_name());
- machine_name = of_flat_dt_get_machine_name();
- if (machine_name)
- pr_info("Machine: %s\n", machine_name);
}
static void __init request_standard_resources(void)