cpufrequtils: import from OE .dev revision c7c2ebead10c5553d17a3d0f900d24713dafbfd5
authorKoen Kooi <koen@dominion.thruhere.net>
Fri, 22 Apr 2011 15:56:56 +0000 (17:56 +0200)
committerPatrick Ohly <patrick.ohly@intel.com>
Fri, 9 Jan 2015 16:11:50 +0000 (08:11 -0800)
(From meta-openembedded rev: 1c3faf17944658bafc4c655fa53985eb04c2b0c2)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils/fix-proc-stat-reading.patch [new file with mode: 0644]
meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils_006.bb [new file with mode: 0644]

diff --git a/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils/fix-proc-stat-reading.patch b/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils/fix-proc-stat-reading.patch
new file mode 100644 (file)
index 0000000..a9e3407
--- /dev/null
@@ -0,0 +1,59 @@
+From 6657831200419d7509edcc04434d03b994c86adb Mon Sep 17 00:00:00 2001
+From: Anton Arapov <anton@redhat.com>
+Date: Wed, 11 Nov 2009 21:33:09 +0100
+Subject: [PATCH] cpufreq/aperf : fix the /proc/stat read routine, always fails otherwise.
+
+  the statement:
+    if (!fgets(value, LINE_LEN, fp)) {
+  always fails(==0) at the end of proc file, so we will have err_out:
+  firing all the time.
+
+  I've aligned the code to the one that other utils of cpufreq has.
+
+Signed-off-by: Anton Arapov <aarapov@redhat.com>
+Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
+---
+ utils/aperf.c |   18 +++++++-----------
+ 1 files changed, 7 insertions(+), 11 deletions(-)
+
+diff --git a/utils/aperf.c b/utils/aperf.c
+index a37f8b1..8ecff2c 100644
+--- a/utils/aperf.c
++++ b/utils/aperf.c
+@@ -76,14 +76,15 @@ static unsigned int count_cpus(void)
+       unsigned int cpunr = 0;
+       fp = fopen("/proc/stat", "r");
+-      if(!fp)
+-              goto err_out;
++      if(!fp) {
++              printf("Couldn't count the number of CPUs (%s: %s), "
++                      "assuming 1\n", "/proc/stat", strerror(errno));
++              return 1;
++      }
+       while (!feof(fp)) {
+-              if (!fgets(value, LINE_LEN, fp)) {
+-                      fclose(fp);
+-                      goto err_out;
+-              }
++              if (!fgets(value, LINE_LEN, fp))
++                      continue;
+               value[LINE_LEN - 1] = '\0';
+               if (strlen(value) < (LINE_LEN - 2))
+                       continue;
+@@ -98,11 +99,6 @@ static unsigned int count_cpus(void)
+       /* cpu count starts from 0, on error return 1 (UP) */
+       return (ret+1);
+-
+-err_out:
+-      printf("Couldn't count the number of CPUs (%s: %s), "
+-              "assuming 1\n", "/proc/stat", strerror(errno));
+-      return 1;
+ }
+ static int has_mperf_aperf_support(int cpu)
+-- 
+1.7.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils_006.bb b/meta-openembedded/meta-oe/recipes-support/cpufrequtils/cpufrequtils_006.bb
new file mode 100644 (file)
index 0000000..ccc7be7
--- /dev/null
@@ -0,0 +1,24 @@
+DESCRIPTION = "To make access to the Linux kernel cpufreq subsystem easier for users and cpufreq userspace tools, a cpufrequtils package was created"
+
+DEPENDS = "libtool-cross"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
+
+SRC_URI = "http://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-${PV}.tar.bz2 \
+           file://fix-proc-stat-reading.patch \
+"
+SRC_URI[md5sum] = "124b0de8f3a4d672539a85ce13eed869"
+SRC_URI[sha256sum] = "b8e77854a1400b0cc73295f3ee5d0a0c3650438e677526a199e08f6680c15aa1"
+
+export CROSS = "${TARGET_PREFIX}"
+export LIBTOOL = "${HOST_SYS}-libtool --tag cc"
+TARGET_CC_ARCH += "${LDFLAGS}"
+
+do_compile() {
+        oe_runmake -e
+}
+do_install() {
+        oe_runmake -e install DESTDIR=${D}
+}
+