From 6ded201323c1bdfa65abc3d2946368893f58d856 Mon Sep 17 00:00:00 2001 From: Dengke Du Date: Wed, 27 Feb 2019 16:12:41 +0800 Subject: 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 Signed-off-by: Changqing Li Signed-off-by: Khem Raj --- ...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 0000000000..2d5709f3f5 --- /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 +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 +--- + 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 ffab5d6bf4..4dbef73b9f 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" -- cgit 1.2.3-korg