]> git.webhop.me Git - lcd4linux.git/commitdiff
hwmon patch from Hans de Goede
authormichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Wed, 27 Jul 2011 02:19:58 +0000 (02:19 +0000)
committermichael <michael@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Wed, 27 Jul 2011 02:19:58 +0000 (02:19 +0000)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1146 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

plugin_i2c_sensors.c

index 989f97c2c9e2ed6f94885cea517e23b237bbf7a9..8ac953407abcdb833b34700b79d7a4c3c89fa95f 100644 (file)
@@ -223,6 +223,8 @@ static void my_i2c_sensors_path(const char *method)
     int done;
 
     if (!strcmp(method, "sysfs")) {
+       base = "/sys/class/hwmon/";
+    } else if (!strcmp(method, "sysfs-old")) {
        base = "/sys/bus/i2c/devices/";
     } else if (!strcmp(method, "procfs")) {
        base = "/proc/sys/dev/sensors/";
@@ -259,6 +261,16 @@ static void my_i2c_sensors_path(const char *method)
                done = 1;
                break;
            }
+           if (!strcmp(file->d_name, "device")) {
+               char fname[PATH_MAX];
+               snprintf(fname, PATH_MAX, "%sdevice/temp1_input", dname);
+                if (access(fname, R_OK) == 0) {
+                    path = realloc(path, strlen(dname) + 7);
+                    sprintf(path, "%sdevice/", dname);
+                    done = 1;
+                    break;
+                }
+           }
        }
        closedir(fd2);
        if (done)
@@ -280,6 +292,8 @@ static int configure_i2c_sensors(void)
     if (path_cfg == NULL || *path_cfg == '\0') {
        /* debug("No path to i2c sensors found in the conf, calling my_i2c_sensors_path()"); */
        my_i2c_sensors_path("sysfs");
+       if (!path)
+           my_i2c_sensors_path("sysfs-old");
        if (!path)
            my_i2c_sensors_path("procfs");