summaryrefslogtreecommitdiffstats
path: root/redhat/extras/ksensors/ksensors-0.7.3-lm_sensors-3.x.patch
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/extras/ksensors/ksensors-0.7.3-lm_sensors-3.x.patch')
-rw-r--r--redhat/extras/ksensors/ksensors-0.7.3-lm_sensors-3.x.patch245
1 files changed, 245 insertions, 0 deletions
diff --git a/redhat/extras/ksensors/ksensors-0.7.3-lm_sensors-3.x.patch b/redhat/extras/ksensors/ksensors-0.7.3-lm_sensors-3.x.patch
new file mode 100644
index 000000000..bc56ea40e
--- /dev/null
+++ b/redhat/extras/ksensors/ksensors-0.7.3-lm_sensors-3.x.patch
@@ -0,0 +1,245 @@
+diff -up ksensors-0.7.3/src/lmsensor.cpp.lm_sensors3x ksensors-0.7.3/src/lmsensor.cpp
+--- ksensors-0.7.3/src/lmsensor.cpp.lm_sensors3x 2007-11-11 16:34:15.000000000 +0100
++++ ksensors-0.7.3/src/lmsensor.cpp 2007-11-11 16:37:58.000000000 +0100
+@@ -30,8 +30,11 @@ LMSensor::LMSensor(SensorsList *parent):
+ LMSensor::~LMSensor(){
+ }
+
+-
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ bool LMSensor::init(const sensors_feature_data **data, int *nr1,int *nr2)
++#else
++bool LMSensor::init(const sensors_feature **data, int *nr1, int *nr2)
++#endif
+ {
+ double min,max;
+ const sensors_chip_name *chip_name= getChipName();
+@@ -40,6 +43,7 @@ bool LMSensor::init(const sensors_featur
+ char *label;
+ QString str;
+
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ bool min_found=false;
+ bool max_found=false;
+ while( (*data= sensors_get_all_features(*chip_name, nr1, nr2)) && (*data)->mapping!=SENSORS_NO_MAPPING) {
+@@ -105,7 +109,97 @@ bool LMSensor::init(const sensors_featur
+
+ if(max_found)
+ max = valMax;
+-
++
++#else /* libsensors4 code */
++
++ const sensors_subfeature *sub_feature;
++ const sensors_feature *feature_data = *data;
++
++ /* Move to next feature for the loop in LMSensorsChip::createSensors() */
++ *data = sensors_get_features(chip_name, nr1);
++
++ switch(feature_data->type)
++ {
++ case SENSORS_FEATURE_IN:
++ sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_IN_INPUT);
++
++ if (!sub_feature)
++ return false;
++
++ feature = sub_feature->number;
++
++ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_IN_MIN)) ||
++ sensors_get_value(chip_name, sub_feature->number, &min))
++ min = -16;
++
++ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_IN_MAX)) ||
++ sensors_get_value(chip_name, sub_feature->number, &max))
++ max = 16;
++
++ setType(lmVoltage);
++ break;
++
++ case SENSORS_FEATURE_FAN:
++ sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_FAN_INPUT);
++
++ if (!sub_feature)
++ return false;
++
++ feature = sub_feature->number;
++
++ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_FAN_MIN)) ||
++ sensors_get_value(chip_name, sub_feature->number, &min))
++ min = 3000;
++
++ max = 10000;
++
++ setType(lmFan);
++ break;
++
++ case SENSORS_FEATURE_TEMP:
++ sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_TEMP_INPUT);
++
++ if (!sub_feature)
++ return false;
++
++ feature = sub_feature->number;
++
++ if (!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_TEMP_MIN)) ||
++ sensors_get_value(chip_name, sub_feature->number, &min))
++ min = 0;
++
++ if ((!(sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_TEMP_MAX)) &&
++ !(sub_feature = sensors_get_subfeature(chip_name, feature_data,
++ SENSORS_SUBFEATURE_TEMP_CRIT))) ||
++ sensors_get_value(chip_name, sub_feature->number, &max))
++ max = 65;
++
++ setType(lmTemp);
++ break;
++
++ default:
++ return false;
++ }
++
++ str.sprintf("%s.%s", chip_name->prefix, main_name);
++ setName( str.latin1() );
++
++ label = sensors_get_label(chip_name, feature_data);
++ if (label)
++ setDescription(QString(label));
++ else
++ setDescription( str.latin1() );
++
++#endif /* libsensors3 / libsensors4 code */
++
+ if(min>max) {
+ double pivot= min;
+ min= max;
+@@ -131,7 +225,11 @@ double LMSensor::readSensorValue()
+ {
+ double newVal;
+ const sensors_chip_name *chip_name= getChipName();
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ sensors_get_feature(*chip_name, feature, &newVal);
++#else
++ sensors_get_value(chip_name, feature, &newVal);
++#endif
+ return newVal;
+ }
+
+diff -up ksensors-0.7.3/src/lmsensorschip.cpp.lm_sensors3x ksensors-0.7.3/src/lmsensorschip.cpp
+--- ksensors-0.7.3/src/lmsensorschip.cpp.lm_sensors3x 2003-12-27 22:52:12.000000000 +0100
++++ ksensors-0.7.3/src/lmsensorschip.cpp 2007-11-11 16:34:15.000000000 +0100
+@@ -50,10 +50,15 @@ const sensors_chip_name *LMSensorsChip::
+ void LMSensorsChip::createSensors()
+ {
+ if(!chip_name) return;
+- const sensors_feature_data *data;
+ int nr1= 0;
+ int nr2= 0;
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
++ const sensors_feature_data *data;
+ data= sensors_get_all_features(*chip_name, &nr1, &nr2);
++#else
++ const sensors_feature *data;
++ data= sensors_get_features(chip_name, &nr1);
++#endif
+ while(data) {
+ LMSensor *sensor= new LMSensor(this);
+ if( !sensor->init(&data,&nr1,&nr2) )
+diff -up ksensors-0.7.3/src/lmsensor.h.lm_sensors3x ksensors-0.7.3/src/lmsensor.h
+--- ksensors-0.7.3/src/lmsensor.h.lm_sensors3x 2003-12-27 22:52:12.000000000 +0100
++++ ksensors-0.7.3/src/lmsensor.h 2007-11-11 16:34:15.000000000 +0100
+@@ -51,7 +51,11 @@ protected:
+
+ double calculateIdealValue();
+
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ bool init(const sensors_feature_data **data, int *nr1,int *nr2);
++#else
++ bool init(const sensors_feature **data, int *nr1,int *nr2);
++#endif
+ const sensors_chip_name *getChipName();
+
+ private:
+diff -up ksensors-0.7.3/src/lmsensors.cpp.lm_sensors3x ksensors-0.7.3/src/lmsensors.cpp
+--- ksensors-0.7.3/src/lmsensors.cpp.lm_sensors3x 2007-11-11 16:34:15.000000000 +0100
++++ ksensors-0.7.3/src/lmsensors.cpp 2007-11-11 16:34:15.000000000 +0100
+@@ -45,17 +45,23 @@ LMSensors::~LMSensors()
+
+ bool LMSensors::initSensors()
+ {
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ FILE *fp=fopen("/etc/sensors.conf","r");
+ if(!fp) {
+ qWarning("KSensors error: /etc/sensors.conf not found !");
+ return false;
+ }
++#else
++ FILE *fp=NULL;
++#endif
+ int err= sensors_init(fp);
+ if(err) {
+ qWarning("KSensors error: sensors_init fail, error code %d",err);
+ return false;
+ }
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ fclose(fp);
++#endif
+ return true;
+ }
+
+@@ -63,6 +69,7 @@ void LMSensors::createLMSensors()
+ {
+ const sensors_chip_name *chip_name;
+ int err= 0;
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ while( (chip_name= sensors_get_detected_chips(&err)) )
+ {
+ if( existSensor(chip_name,"temp") ||
+@@ -71,6 +78,10 @@ void LMSensors::createLMSensors()
+ (void)new LMSensorsChip(chip_name,this);
+ }
+ }
++#else
++ while( (chip_name= sensors_get_detected_chips(NULL, &err)) )
++ (void)new LMSensorsChip(chip_name,this);
++#endif
+ }
+
+ void LMSensors::createHDSensors()
+@@ -86,6 +97,7 @@ void LMSensors::createI8KSensors()
+ }
+
+
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ int LMSensors::existSensor(const sensors_chip_name *chip_name,const char *sensor_name)
+ {
+ int nr1,nr2;
+@@ -99,6 +111,7 @@ const sensors_feature_data *sensor_data;
+ }
+ return 0;
+ }
++#endif
+
+ void LMSensors::setMonitorized(bool enable)
+ {
+diff -up ksensors-0.7.3/src/lmsensors.h.lm_sensors3x ksensors-0.7.3/src/lmsensors.h
+--- ksensors-0.7.3/src/lmsensors.h.lm_sensors3x 2003-12-27 22:52:12.000000000 +0100
++++ ksensors-0.7.3/src/lmsensors.h 2007-11-11 16:34:15.000000000 +0100
+@@ -65,7 +65,9 @@ private:
+ void createI8KSensors();
+ void childEvent ( QChildEvent *e );
+
++#if SENSORS_API_VERSION < 0x400 /* libsensor 3 code */
+ static int existSensor(const sensors_chip_name *chip_name,const char *sensor_name);
++#endif
+ };
+
+ #endif