diff --git a/CHANGES b/CHANGES index 70db5df4..b6698039 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,7 @@ SVN HEAD sensors: Clarify what option -u is good for sensors-detect: Add detection of AMD family 16h power sensors Map IT8771E, IT8772E, IT8782F and IT8783F to it87 + Use /sys/module instead of /proc/modules where available 3.3.3 "Happy Birthday Sophie" (2012-11-06) documentation: Update fan-divisors, fan divisors are optional diff --git a/prog/detect/sensors-detect b/prog/detect/sensors-detect index cba73f99..fa13c5de 100755 --- a/prog/detect/sensors-detect +++ b/prog/detect/sensors-detect @@ -2773,9 +2773,19 @@ sub initialize_modules_list { local $_; + # /sys/module contains built-in drivers too, but doesn't exist on + # older kernels (added in kernel 2.6.7) + if (opendir(local *MODULES, "$sysfs_root/module")) { + while (defined($_ = readdir(MODULES))) { + next if m/^\./; + $modules_list{$1} = 1 if m/^(\S*)/; + } + return; + } + + # Fall back to /proc/modules as it is always available open(local *INPUTFILE, "/proc/modules") or return; while () { - tr/-/_/; # Probably not needed $modules_list{$1} = 1 if m/^(\S*)/; } }