From: Dengke Du <[email protected]>

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 <[email protected]>
Signed-off-by: Changqing Li <[email protected]>
---
 ...fix-sensors-detect-can-t-read-the-cpu-inf.patch | 74 ++++++++++++++++++++++
 meta-oe/recipes-bsp/lm_sensors/lmsensors_3.4.0.bb  |  1 +
 2 files changed, 75 insertions(+)
 create mode 100644 
meta-oe/recipes-bsp/lm_sensors/lmsensors/0001-lm-sensors-fix-sensors-detect-can-t-read-the-cpu-inf.patch

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 0000000..2d5709f
--- /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 <[email protected]>
+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 <[email protected]>
+---
+ 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 ffab5d6..4dbef73 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"
-- 
2.7.4

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to