diff options
Diffstat (limited to 'loader/controlunits.sh')
-rw-r--r-- | loader/controlunits.sh | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/loader/controlunits.sh b/loader/controlunits.sh new file mode 100644 index 000000000..e99db3669 --- /dev/null +++ b/loader/controlunits.sh @@ -0,0 +1,56 @@ +# controlunits.sh: define some common control unit mappings +# Copyright (C) IBM Corp. 2009 +# Author: Steffen Maier <maier@de.ibm.com> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# The arrays (among other things) should be adapted, if any of those device +# drivers start supporting different CU types/models. + +readonly -a CU=( + 1731/01 + 1731/05 + 3088/08 + 3088/1f + 3088/1e + 3088/01 + 3088/60 + 3088/61 +) + +readonly -a CU_DEVDRV=( + qeth + qeth + ctcm + ctcm + ctcm + lcs + lcs + lcs +) + +# Searches for a match of argument 1 on the array $CU and sets $cu_idx +# to the matched array index on success. +# Returns 0 on success, 1 on failure. +function search_cu() { + local scu=$1 + local i + for ((i=0; i < ${#CU[@]}; i++)); do + if [ "$scu" == "${CU[i]}" ]; then + cu_idx=$i + return 0 + fi + done + return 1 +} |