summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-power/cpufreqd/files/cpufreqd-2.3.4-lm_sensors-3.patch')
-rw-r--r--sys-power/cpufreqd/files/cpufreqd-2.3.4-lm_sensors-3.patch156
1 files changed, 0 insertions, 156 deletions
diff --git a/sys-power/cpufreqd/files/cpufreqd-2.3.4-lm_sensors-3.patch b/sys-power/cpufreqd/files/cpufreqd-2.3.4-lm_sensors-3.patch
deleted file mode 100644
index e15b0bbee37a..000000000000
--- a/sys-power/cpufreqd/files/cpufreqd-2.3.4-lm_sensors-3.patch
+++ /dev/null
@@ -1,156 +0,0 @@
---- src/cpufreqd_sensors.c.orig 2009-03-21 12:17:15.000000000 +0100
-+++ src/cpufreqd_sensors.c 2009-08-14 14:39:52.894513594 +0200
-@@ -23,10 +23,22 @@
- #include <string.h>
- #include "cpufreqd_plugin.h"
-
-+#if !defined __GNUC__ || __GNUC__ < 3
-+#define __attribute__(x)
-+#endif
-+
-+#if SENSORS_API_VERSION < 0x400
-+typedef sensors_feature_data sensors_feature;
-+#endif
-+
- /* to hold monitored feature list and avoid reading all sensors */
- struct sensors_monitor {
- const sensors_chip_name *chip;
-- const sensors_feature_data *feat;
-+ char chip_string[MAX_STRING_LEN];
-+ const sensors_feature *feat;
-+#if SENSORS_API_VERSION >= 0x400
-+ const sensors_subfeature *sub_feat;
-+#endif
- double value;
- struct sensors_monitor *next;
- };
-@@ -133,27 +145,74 @@
- struct sensors_monitor *list = monitor_list;
-
- while (list) {
-- sensors_get_feature(*(list->chip), list->feat->number, &list->value);
-- clog(LOG_INFO, "%s: %.3f\n", list->feat->name, list->value);
-+#if SENSORS_API_VERSION >= 0x400
-+ if(sensors_get_value(list->chip, list->sub_feat->number, &list->value) < 0) {
-+#else
-+ if(sensors_get_feature(*(list->chip), list->feat->number, &list->value) < 0) {
-+#endif
-+ clog(LOG_ERR,"could not read value for %s\n",list->feat->name);
-+ return -1;
-+ }
-+ clog(LOG_INFO, "%s:%s: %.3f\n", list->chip_string, list->feat->name, list->value);
- list = list->next;
- }
-
- return 0;
- }
-
-+
-+#if SENSORS_API_VERSION < 0x400
-+/* Adapted from lm-sensors 2.10.8 prog/sensors/main.c */
-+static int sensors_snprintf_chip_name(char *str, size_t size,
-+ const sensors_chip_name *chip)
-+{
-+ switch(chip->bus) {
-+ case SENSORS_CHIP_NAME_BUS_ISA:
-+ return snprintf(str,size,"%s-isa-%04x",chip->prefix,chip->addr);
-+ case SENSORS_CHIP_NAME_BUS_PCI:
-+ return snprintf(str,size,"%s-pci-%04x",chip->prefix,chip->addr);
-+ case SENSORS_CHIP_NAME_BUS_DUMMY:
-+ return snprintf(str,size,"%s-%s-%04x",chip->prefix,chip->busname,chip->addr);
-+ default:
-+ return snprintf(str,size,"%s-i2c-%d-%02x",chip->prefix,chip->bus,chip->addr);
-+ }
-+}
-+#endif
-+
-+__attribute__((unused)) static const char* sensors_get_chip_name(const sensors_chip_name *chip);
-+static const char* sensors_get_chip_name(const sensors_chip_name *chip) {
-+ static char name[MAX_STRING_LEN];
-+ sensors_snprintf_chip_name(name, MAX_STRING_LEN, chip);
-+ return name;
-+}
-+
- /* this function can be pretty expensive (CPU time)?? */
- static struct sensors_monitor * validate_feature_name(const char *name) {
-
- /* get all sensors from first chip */
- const sensors_chip_name *chip;
-- const sensors_feature_data *feat;
-- int nr = 0, nr1 = 0, nr2 = 0;
-+ const sensors_feature *feat;
-+ int nr = 0;
-+#if SENSORS_API_VERSION >= 0x400
-+ const sensors_subfeature *sub_feat;
-+#else
-+ int nr1 = 0, nr2 = 0;
-+#endif
- struct sensors_monitor *list = monitor_list;
- struct sensors_monitor *ret = NULL;
-
- /* scan the full thing */
-+#if SENSORS_API_VERSION >= 0x400
-+ while ( (chip = sensors_get_detected_chips(NULL, &nr)) != NULL) {
-+ while ((feat = sensors_get_features(chip, &nr)) != NULL) {
-+ /* sensor input? */
-+ if((sub_feat = sensors_get_subfeature(chip, feat, feat->type << 8)) == NULL) {
-+ clog(LOG_DEBUG, "Input subfeature not found for %s, skipping\n", feat->name);
-+ continue;
-+ }
-+#else
- while ( (chip = sensors_get_detected_chips(&nr)) != NULL) {
-- nr1 = nr2 = 0;
-+ nr1 = nr2 = 0;
- char *label = NULL;
- clog(LOG_DEBUG, "Examining chip %s(%d)\n", chip->prefix, nr);
- while ((feat = sensors_get_all_features(*chip, &nr1, &nr2)) != NULL) {
-@@ -164,22 +223,33 @@
- if (sensors_get_label(*chip, feat->number, &label) != 0)
- clog(LOG_DEBUG, "Couldn't get label for %s (%s)\n",
- feat->name, strerror(errno));
-+ }
-+#endif
-
- /* is it the one we are looking for? */
-- if (strncmp(feat->name, name, MAX_STRING_LEN) != 0 &&
-- (label && strncmp(label, name, MAX_STRING_LEN) != 0)) {
-- free(label);
-+ if (strncmp(feat->name, name, MAX_STRING_LEN) != 0) {
-+ continue;
-+
-+/* libsensors4 does this in sensors_get_features() */
-+#if SENSORS_API_VERSION < 0x400
-+ /* not ignored? */
-+ } else if(sensors_get_ignored(*chip, feat->number) == 0) {
-+ clog(LOG_INFO, "feature %s on chip %s set to ignore in %s, skipping\n",
-+ feat->name, sensors_get_chip_name(chip), sensors_conffile);
- continue;
-+#endif
-
- /* cache it */
- } else if ((ret = calloc(1, sizeof(struct sensors_monitor))) != NULL) {
-- clog(LOG_DEBUG, "Creating new sensors_monitor for %s (%s)\n",
-- label, feat->name);
-+ sensors_snprintf_chip_name(ret->chip_string, MAX_STRING_LEN, chip);
-+ clog(LOG_DEBUG, "Creating new sensors_monitor for %s on chip %s\n",
-+ name, ret->chip_string);
- ret->chip = chip;
- ret->feat = feat;
-+#if SENSORS_API_VERSION >= 0x400
-+ ret->sub_feat = sub_feat;
-+#endif
- ret->next = NULL;
-- /* free the label here, we are not using it anymore */
-- free(label);
- /* append monitor to the cache list */
- list = monitor_list;
- if (list != NULL) {
-@@ -214,7 +284,7 @@
- clog(LOG_DEBUG, "called with %s\n", ev);
-
- /* try to parse the %[a-zA-Z0-9]:%d-%d format first */
-- if (sscanf(ev, "%32[^:]:%lf-%lf", ret->name, &ret->min, &ret->max) == 3) {
-+ if (sscanf(ev, "%32[a-zA-Z0-9]:%lf-%lf", ret->name, &ret->min, &ret->max) == 3) {
- /* validate feature name */
- if ((ret->monitor = validate_feature_name(ret->name)) != NULL) {
- clog(LOG_INFO, "parsed %s %.3f-%.3f\n", ret->name, ret->min, ret->max);