1#!/bin/sh
2
3HDPARM=/sbin/hdparm
4MAX_IDE_NR=1
5
6IDE_IO_0=0x1f0
7IDE_IO_1=0x170
8
9USE_IDE_DEV_0=/dev/hda
10USE_IDE_DEV_1=/dev/hdc
11
12usage () {
13	if [ $# -gt 0 ]; then
14		echo $* >&2
15		echo
16	fi
17
18	echo "usage: $0 ide-channel-nr [off|on|rescan]" 2>&1
19	exit 1
20}
21
22IDE_NR=$1
23MODE=$2
24
25do_register=0
26do_unregister=0
27
28
29if [ ! "$IDE_NR" ] || [ $IDE_NR -lt 0 ] || [ $IDE_NR -gt $MAX_IDE_NR ]; then
30	usage "Unrecognized IDE-channel number"
31fi
32
33case "$MODE" in
34on )		do_register=1 ;;
35off )		do_unregister=1 ;;
36rescan )	do_unregister=1; do_register=1 ;;
37* )			usage "Unrecognized command" ;;
38esac
39
40eval "IDE_IO=\$IDE_IO_$IDE_NR"
41eval "USE_IDE_DEV=\$USE_IDE_DEV_$IDE_NR"
42
43[ $do_unregister -eq 1 ] && eval "$HDPARM -U $IDE_NR $USE_IDE_DEV > /dev/null"
44[ $do_register -eq 1 ] && eval "$HDPARM -R $IDE_IO 0 0 $USE_IDE_DEV > /dev/null"
45
46