Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > 37353c59cf1159639bf1880e71cf82c9 > files > 3

acpi-0.07-4mdk.src.rpm

#!/bin/bash
#
# chkconfig: 2345 04 70
# description: Load modules for acpi for fan battery thermal and all \
#	       the informations you can get from your laptop

#Sources Functions
. /etc/rc.d/init.d/functions

[[ -f /etc/sysconfig/acpi ]] && . /etc/sysconfig/acpi

#EXIT action 
RETVAL=0

[[ -d /proc/acpi ]] || exit 0

function start () {
    for f in /lib/modules/`uname -r`/kernel/drivers/acpi/*;do
	basename="${f##*/}"
	mod="${basename%%.*}"
	case $mod in
	    *_acpi)
		dmidecode | grep -i Vendor | egrep -qi "${mod%%_acpi}" 2>/dev/null || continue
		;;
	esac
	message="Loading ACPI module $mod:"
	modprobe $mod 2>/dev/null >/dev/null
	if [[ $? != 0 ]];then
	    message="$message failed"
	    RETVAL=1
	else
	    message="$message successfull"
	fi
	logger -t "INIT" $message 
    done
}

function stop () {
    for f in /lib/modules/`uname -r`/kernel/drivers/acpi/*;do
	basename="${f##*/}"
	mod="${basename%%.*}"
	modprobe -r $mod 2>/dev/null >/dev/null
    done
}

function status() {
    loaded=
    gprintf "Modules Loaded: \n"
    for mod in $MODULES;do
	if grep -q "^$mod " /proc/modules;then
	    loaded="$loaded $mod"
	fi
    done
    if [[ -n $loaded ]];then
	for i in $loaded;do gprintf "\t\t%s\n" $i;done
    else
	gprintf "\t\tNothing\n"
	RETVAL=1
    fi
}

# see how we were called.
case "$1" in
  start)
	start
	touch /var/lock/subsys/acpi
	;;
  stop)
	stop
	rm -f /var/lock/subsys/acpi
	;;
  status)
	status
	;;
  restart)
	stop
	start
	;;
  reload)
	stop
	start
	;;
  *)
	gprintf "*** Usage: $0 {start|stop|status|restart|reload}\n"
	exit 1
esac

exit 0