aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
authorDengke Du <dengke.du@windriver.com>2019-02-27 16:12:41 +0800
committerKhem Raj <raj.khem@gmail.com>2019-02-28 09:42:11 -0800
commit6ded201323c1bdfa65abc3d2946368893f58d856 (patch)
tree6d3eae22e1ba4c1c628c39fe135fe94fc2a444c4 /meta-oe
parent07a8af9a1bfa18a1f612378c4da516958fc30fd5 (diff)
downloadmeta-openembedded-6ded201323c1bdfa65abc3d2946368893f58d856.tar.gz
meta-openembedded-6ded201323c1bdfa65abc3d2946368893f58d856.tar.bz2
meta-openembedded-6ded201323c1bdfa65abc3d2946368893f58d856.zip
lmsensors: read cpu information fail on ppc
The program sensors-detect in lmsensors can't read the cpu information on ppc and arm arch, such as: fsl-t4xxx based on ppc. This is because the program sensors-detect design for the x86 and x86-64, but weak on ppc and arm. So add the support for the ppc and arm, just add the correspond field to read in sensors-detect. Signed-off-by: Dengke Du <dengke.du@windriver.com> Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch74
-rw-r--r--meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb1
2 files changed, 75 insertions, 0 deletions
diff --git a/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch b/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch
new file mode 100644
index 000000000..2d5709f3f
--- /dev/null
+++ b/meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch
@@ -0,0 +1,74 @@
+From dd9b40c54f160a44f1d78e5946d4cd00a8852802 Mon Sep 17 00:00:00 2001
+From: Dengke Du <dengke.du@windriver.com>
+Date: Wed, 21 Sep 2016 03:17:32 -0400
+Subject: [PATCH] lm-sensors: fix sensors-detect can't read the cpu information
+ on fsl-t4xxx
+
+This is because two reasons:
+
+1. The sensors-detect program in lm-sensors depends on the file '/proc/cpuinfo',
+ different arch write different infomation to it. That program supports x86
+ and x86-64 well, but weak on ppc and arm.
+
+2. The sensors-detect program show the cpu information just design for intel's
+ cpu, when meets other arch, it can't output the correct information.
+
+So we need to add the ppc and arm support for this program:
+
+1. add the ppc cpu information field 'cpu' in initialize_cpu_list function.
+
+2. add the correspond case of ppc and arm when print cpu information in
+ print_cpu_info function.
+
+Upstream-Status: Pending
+
+Signed-off-by: Dengke Du <dengke.du@windriver.com>
+---
+ prog/detect/sensors-detect | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect
+index 5f62405..ae4def1 100755
+--- a/prog/detect/sensors-detect
++++ b/prog/detect/sensors-detect
+@@ -2833,6 +2833,7 @@ sub kernel_version_at_least
+ # model name and stepping, directly taken from /proc/cpuinfo.
+ use vars qw(@cpu);
+
++# The added field 'cpu' is for support the ppc.
+ sub initialize_cpu_list
+ {
+ local $_;
+@@ -2848,7 +2849,7 @@ sub initialize_cpu_list
+ };
+ next;
+ }
+- if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level)\s*:\s*(.+)$/) {
++ if (m/^(vendor_id|cpu family|model|model name|stepping|cpuid level|cpu|revision)\s*:\s*(.+)$/) {
+ my $k = $1;
+ my $v = $2;
+ $v =~ s/\s+/ /g; # Merge multiple spaces
+@@ -2861,12 +2862,20 @@ sub initialize_cpu_list
+ push @cpu, $entry if scalar keys(%{$entry}); # Last entry
+ }
+
++# The field 'model name' is for ARM.
++# The field 'cpu' is for ppc.
+ sub print_cpu_info
+ {
+ my $cpu = $cpu[0];
+ if ( $cpu->{'model name'} && $cpu->{'cpu family'} && $cpu->{model} && $cpu->{stepping} ) {
+ print "# Processor: $cpu->{'model name'} ($cpu->{'cpu family'}/$cpu->{model}/$cpu->{stepping})\n";
+ }
++ elsif ( $cpu->{'model name'} ) {
++ print "# Processor: $cpu->{'model name'}\n";
++ }
++ elsif ( $cpu->{'cpu'} && $cpu->{'revision'} ) {
++ print "# Processor: $cpu->{'cpu'} $cpu->{'revision'}\n";
++ }
+ else {
+ print "# Processor: There isn't enough cpu info for this arch!!!\n";
+ }
+--
+2.8.1
+
diff --git a/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb b/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
index ffab5d6bf..4dbef73b9 100644
--- a/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
+++ b/meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb
@@ -12,6 +12,7 @@ SRC_URI = "https://github.com/groeck/lm-sensors/archive/V3-4-0.tar.gz \
file://sensord.init \
file://0001-lmsensors-sensors-detect-print-a-special-message-whe.patch \
file://0001-prog-Do-not-limit-sys-io.h-header-include-to-just-gl.patch \
+ file://0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch \
"
SRC_URI[md5sum] = "1e9f117cbfa11be1955adc96df71eadb"
SRC_URI[sha256sum] = "e334c1c2b06f7290e3e66bdae330a5d36054701ffd47a5dde7a06f9a7402cb4e"