mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-11-07 16:01:34 +00:00
fancontrol: Deal with moving hwmon attributes
Several kernel drivers have already moved their attributes from the hardware device to the hwmon class device, and others will follow. Teach fancontrol about this possibility and let it adjust the attribute paths transparently.
This commit is contained in:
1 parent
e84b4863be
commit
0c0e29f297
2 files changed
+64
No files matched your search
@@ -2,6 +2,7 @@ lm-sensors CHANGES file
|
||||
-----------------------
|
||||
|
||||
SVN HEAD
|
||||
fancontrol: Deal with moving hwmon attributes
|
||||
sensors-detect: Add detection of ADC128D818
|
||||
|
||||
3.3.5 "Happy Birthday Beddy" (2014-01-22)
|
||||
|
||||
@@ -206,6 +206,65 @@ function ValidateDevices()
|
||||
return $outdated
|
||||
}
|
||||
|
||||
function FixupDeviceFiles
|
||||
{
|
||||
local DEVICE="$1"
|
||||
local fcvcount pwmo tsen fan
|
||||
|
||||
let fcvcount=0
|
||||
while (( $fcvcount < ${#AFCPWM[@]} )) # go through all pwm outputs
|
||||
do
|
||||
pwmo=${AFCPWM[$fcvcount]}
|
||||
AFCPWM[$fcvcount]=${pwmo//$DEVICE\/device/$DEVICE}
|
||||
if [ "${AFCPWM[$fcvcount]}" != "$pwmo" ]
|
||||
then
|
||||
echo "Adjusing $pwmo -> ${AFCPWM[$fcvcount]}"
|
||||
fi
|
||||
let fcvcount=$fcvcount+1
|
||||
done
|
||||
|
||||
let fcvcount=0
|
||||
while (( $fcvcount < ${#AFCTEMP[@]} )) # go through all temp inputs
|
||||
do
|
||||
tsen=${AFCTEMP[$fcvcount]}
|
||||
AFCTEMP[$fcvcount]=${tsen//$DEVICE\/device/$DEVICE}
|
||||
if [ "${AFCTEMP[$fcvcount]}" != "$tsen" ]
|
||||
then
|
||||
echo "Adjusing $tsen -> ${AFCTEMP[$fcvcount]}"
|
||||
fi
|
||||
let fcvcount=$fcvcount+1
|
||||
done
|
||||
|
||||
let fcvcount=0
|
||||
while (( $fcvcount < ${#AFCFAN[@]} )) # go through all fan inputs
|
||||
do
|
||||
fan=${AFCFAN[$fcvcount]}
|
||||
AFCFAN[$fcvcount]=${fan//$DEVICE\/device/$DEVICE}
|
||||
if [ "${AFCFAN[$fcvcount]}" != "$fan" ]
|
||||
then
|
||||
echo "Adjusing $fan -> ${AFCFAN[$fcvcount]}"
|
||||
fi
|
||||
let fcvcount=$fcvcount+1
|
||||
done
|
||||
}
|
||||
|
||||
# Some drivers moved their attributes from hard device to class device
|
||||
function FixupFiles
|
||||
{
|
||||
local DEVPATH="$1"
|
||||
local entry device
|
||||
|
||||
for entry in $DEVPATH
|
||||
do
|
||||
device=`echo "$entry" | sed -e 's/=[^=]*$//'`
|
||||
|
||||
if [ -e "$device/name" ]
|
||||
then
|
||||
FixupDeviceFiles "$device"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Check that all referenced sysfs files exist
|
||||
function CheckFiles
|
||||
{
|
||||
@@ -306,6 +365,10 @@ then
|
||||
echo "Configuration appears to be outdated, please run pwmconfig again" >&2
|
||||
exit 1
|
||||
fi
|
||||
if [ "$DIR" = "/sys/class/hwmon" ]
|
||||
then
|
||||
FixupFiles "$DEVPATH"
|
||||
fi
|
||||
CheckFiles || exit 1
|
||||
|
||||
if [ -f "$PIDFILE" ]
|
||||
|
||||
Reference in new issue
Block a user