diff -rup a/plugins/acpi/acpi-plugin.c b/plugins/acpi/acpi-plugin.c --- a/plugins/acpi/acpi-plugin.c 2010-06-15 13:13:45.000000000 +0200 +++ b/plugins/acpi/acpi-plugin.c 2010-11-21 00:04:16.497007962 +0100 @@ -30,8 +30,7 @@ const gchar *plugin_name = "acpi"; -#define ACPI_THERMAL_ZONE_BASE_DIR "/proc/acpi/thermal_zone" -#define ACPI_THERMAL_BASE_DIR "/proc/acpi/thermal" +#define ACPI_THERMAL_ZONE_BASE_DIR "/sys/devices/virtual/thermal" enum { ACPI_DEVICE_FILE_OPEN_ERROR, @@ -65,8 +64,7 @@ static void acpi_plugin_test_sensor(GLis filename = g_path_get_basename(path); - if (g_ascii_strcasecmp(filename, "temperature") == 0 || - g_ascii_strcasecmp(filename, "status") == 0) { + if (g_ascii_strcasecmp(filename, "temp") == 0) { acpi_plugin_add_sensor(sensors, path); } @@ -84,7 +82,6 @@ static GList *acpi_plugin_init(void) { /* call function to recursively look for sensors starting at the defined base directory */ sensors_applet_plugin_find_sensors(&sensors, ACPI_THERMAL_ZONE_BASE_DIR, acpi_plugin_test_sensor); - sensors_applet_plugin_find_sensors(&sensors, ACPI_THERMAL_BASE_DIR, acpi_plugin_test_sensor); return sensors; } @@ -104,17 +101,15 @@ static gdouble acpi_plugin_get_sensor_va return sensor_value; } - if (fscanf(fp, "temperature: %f %31s", &sensor_value, units) < 1) { + if (fscanf(fp, "%f", &sensor_value) < 1) { g_set_error(error, SENSORS_APPLET_PLUGIN_ERROR, ACPI_DEVICE_FILE_READ_ERROR, "Error reading from sensor device file %s", path); fclose(fp); return sensor_value; } fclose(fp); - /* need to convert if units are deciKelvin */ - if (g_ascii_strcasecmp(units, "dK") == 0) { - sensor_value = (sensor_value / 10.0) - 273.0; - } + /* unit is millidegree celcius */ + sensor_value = sensor_value / 1000.0; return (gdouble)sensor_value; }