--- old/lm_sensors-3-init.d 2015-03-31 06:38:56.723120744 +0300 +++ new/lm_sensors-3-init.d 2015-03-31 06:38:38.073119862 +0300 @@ -10,8 +10,8 @@ fi if [ "${LOADMODULES}" = "yes" -a -f /proc/modules ]; then - if [ -z "${MODULE_0}" ]; then - eerror "MODULE_0 is not set in /etc/conf.d/lm_sensors, try running sensors-detect" + if [ -z "${HWMON_MODULES}" ]; then + eerror "HWMON_MODULES is not set in /etc/conf.d/lm_sensors, try running sensors-detect" return 1 fi fi @@ -45,19 +45,12 @@ [ -e /proc/sys/dev/sensors ] || return 1 eend 0 fi - - i=0 - while true; do - module=`eval echo '$'MODULE_${i}` - module_args=`eval echo '$'MODULE_${i}_ARGS` - if [ -z "${module}" ]; then - break - fi - ebegin " Loading ${module}" - modprobe ${module} ${module_args} >/dev/null 2>&1 - eend $? - i=$(($i+1)) - done + + for module in ${HWMON_MODULES}; do + ebegin " Loading ${module}" + modprobe ${module} >/dev/null 2>&1 + eend $? + done fi if [ "${INITSENSORS}" = "yes" ]; then @@ -77,25 +70,13 @@ if [ "${LOADMODULES}" = "yes" -a -f /proc/modules ]; then einfo "Unloading lm_sensors modules..." - - # find the highest possible MODULE_ number - i=0 - while true; do - module=`eval echo '$'MODULE_${i}` - if [ -z "${module}" ] ; then - break - fi - i=$(($i+1)) - done - - while [ ${i} -gt 0 ]; do - i=$(($i-1)) - module=`eval echo '$'MODULE_${i}` - ebegin " Unloading ${module}" - rmmod ${module} >/dev/null 2>&1 - eend $? - done - + + for module in ${HWMON_MODULES}; do + ebegin " Unloading ${module}" + rmmod ${module} >/dev/null 2>&1 + eend $? + done + if [ -e /proc/sys/dev/sensors ] ; then ebegin " Unloading i2c-proc" rmmod i2c-proc >/dev/null 2>&1