[REFACTOR] move and rename /un/register_us_page_probe()
[kernel/swap-modules.git] / driver / swap_driver.sh
1 #!/bin/sh
2
3
4 # name of the file with module
5 MODULE_FILE=swap_driver
6
7 # device name
8 DEVICE=__DEV_NAME__
9
10 # name of device visible in /proc/devices
11 DEVICE_NAME=${DEVICE}
12
13 # name of the device
14 DEVICE_FILE=__DEV_DIR__/${DEVICE}
15
16 MAJOR=`sed "/${DEVICE_NAME}/ ! d" /proc/devices | sed "s/ ${DEVICE_NAME}//"`
17 if [ "${MAJOR}" != "" ] ; then
18     echo "SWAP Driver is already loaded!"
19     exit 1
20     rmmod ${MODULE_FILE}
21     MAJOR=`sed "/${DEVICE_NAME}/ ! d" /proc/devices | sed "s/ ${DEVICE_NAME}//"`
22     if [ "${MAJOR}" != "" ] ; then
23         echo "Error: Unable to unload driver module '${MODULE_FILE}'"
24         exit 1
25     fi
26 fi
27
28 # load driver module
29 echo "loading module '${MODULE_FILE}'"
30 ./bin/insmod.sh ${MODULE_FILE}.ko device_name=${DEVICE_NAME}
31 if [ $? -ne 0 ]; then
32     echo "Error: Unable to load Swap Driver!"
33     exit 1
34 fi
35
36 MAJOR=`sed "/${DEVICE_NAME}/ ! d" /proc/devices | sed "s/ ${DEVICE_NAME}//"`
37 DEVICE_MAJOR=${MAJOR}
38 if [ ! -c ${DEVICE_FILE} ] ; then
39         echo "WARNING: Creating device node with major number [${DEVICE_MAJOR}]!"
40         mknod ${DEVICE_FILE} c ${DEVICE_MAJOR} 0
41         if [ $? -ne 0 ]; then
42             echo "Error: Unable to create device node!"
43             exit 1
44         fi
45         chmod a+r ${DEVICE_FILE}
46 fi