diff options
Diffstat (limited to 'gnu/packages/patches/lm-sensors-hwmon-attrs.patch')
-rw-r--r-- | gnu/packages/patches/lm-sensors-hwmon-attrs.patch | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/gnu/packages/patches/lm-sensors-hwmon-attrs.patch b/gnu/packages/patches/lm-sensors-hwmon-attrs.patch new file mode 100644 index 0000000000..12979e7bd1 --- /dev/null +++ b/gnu/packages/patches/lm-sensors-hwmon-attrs.patch @@ -0,0 +1,85 @@ +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. + +Patch by Jean Delvare <khali@linux-fr.org>. +See <http://www.lm-sensors.org/changeset/6216>. + +--- lm-sensors/prog/pwm/fancontrol (revision 6172) ++++ lm-sensors/prog/pwm/fancontrol (revision 6216) +@@ -207,4 +207,63 @@ + } + ++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,4 +365,8 @@ + 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 |