#!/bin/bash # summarize the size of ACPI in Linux # ACPI kernel modules MODULE_FILES= #for MODULE in drivers/acpi/*.ko ; do # if [ -f $MODULE ] ; then # MODULE_FILES="$MODULE_FILES $MODULE" # fi #done MODULE_LIST="ac asus_acpi battery button fan processor thermal toshiba_acpi" if [ "$MODULE_FILES" = "" ] ; then DIR=drivers/acpi for MODULE in $MODULE_LIST; do if [ -f $DIR/$MODULE.o ] ; then MODULE_FILES="$MODULE_FILES $DIR/$MODULE.o" fi done fi if [ "$MODULE_FILES" != "" ] ; then echo Loadable Module Sizes: size $MODULE_FILES echo echo Static Kernel Size: fi # ACPI obj files outside drivers/acpi STATIC_FILES= # acpi objects in base kernel for FILE in arch/i386/kernel/acpi/built-in.o arch/i386/kernel/acpi*.o ; do if [ -f $FILE ] ; then STATIC_FILES="$STATIC_FILES $FILE" fi done # ACPI core driver DRIVER_DIR=drivers/acpi for DRIVER_OBJECT in acpi.o built-in.o ; do if [ -f $DRIVER_DIR/$DRIVER_OBJECT ] ; then STATIC_FILES="$STATIC_FILES $DRIVER_DIR/$DRIVER_OBJECT" fi done NUM_FILES=`echo $STATIC_FILES | wc -w` if [ $NUM_FILES == 0 ] ; then echo $0: no acpi code present elif [ $NUM_FILES == 1 ] ; then size $STATIC_FILES else size -t $STATIC_FILES fi