Sysfs directory of the hwmon devices contains directories and symlinks. Here is the output on my Thinkpad: andre at ubuntu:/sys/class/hwmon/hwmon0/device$ ls -l insgesamt 0 lrwxrwxrwx 1 root root 0 2009-02-04 19:44 bus -> ../../../bus/platform lrwxrwxrwx 1 root root 0 2009-02-04 19:42 driver -> ../../../bus/platform/drivers/thinkpad_hwmon -r--r--r-- 1 root root 4096 2009-02-04 19:44 fan1_input lrwxrwxrwx 1 root root 0 2009-02-04 19:44 hwmon:hwmon0 -> ../../../class/hwmon/hwmon0 -r--r--r-- 1 root root 4096 2009-02-04 19:44 modalias -r--r--r-- 1 root root 4096 2009-02-04 19:44 name drwxr-xr-x 2 root root 0 2009-02-04 19:44 power -rw-r--r-- 1 root root 4096 2009-02-04 19:44 pwm1 -rw-r--r-- 1 root root 4096 2009-02-04 19:44 pwm1_enable lrwxrwxrwx 1 root root 0 2009-02-04 19:42 subsystem -> ../../../bus/platform -r--r--r-- 1 root root 4096 2009-02-04 19:44 temp10_input -r--r--r-- 1 root root 4096 2009-02-04 19:44 temp11_input -r--r--r-- 1 root root 4096 2009-02-04 19:44 temp12_input [...] IMO we can ignore them looking for subfeatures (in sensors_read_dynamic_chip()), can't we? I assume there are no hidden files in the directory, right? That's the reason why I have removed this from condition. Any comments or improvements? --- --- lm-sensors-dev/lib/sysfs.c 2009-01-26 17:43:43.000000000 +0100 +++ my-sensors-dev/lib/sysfs.c 2009-02-04 21:59:44.000000000 +0100 @@ -360,7 +360,8 @@ static int sensors_read_dynamic_chip(sen char *name = ent->d_name; int nr; - if (ent->d_name[0] == '.') + /* Skip directories and symlinks. */ + if (ent->d_type == DT_DIR || ent->d_type == DT_LNK) continue; sftype = sensors_subfeature_get_type(name, &nr);