#!/bin/bash
set -e

usage () {
  echo "Usage: $SCRIPTNAME [OPTION]... ID"
}

. ${SYSCONFIG:=/etc/sysconfig}/scripts/hardware/functions

ID=$1

check_devpath /bus/ccw/devices/$ID
check_config ccw $ID

read cutype < $SYSFS$DEVPATH/cutype
read devtype < $SYSFS$DEVPATH/devtype

case "$cutype" in
  1731/01|1731/05)
  name="qeth"
  ;;
  1731/03)
  case "$devtype" in
    1732/03|1732/04)
    name="zfcp"
    ;;
  esac
  ;;
  3088/01)
  error "p390 not supported"
  ;;
  3088/08|3088/1f)
  name="cu3088"
  ;;
  3088/1e)
  error "ficon not supported"
  ;;
  3088/60)
  error "lcs not supported"
  ;;
  3480/*|3490/*)
  error "tape not supported"
  ;;
  3990/*|2105/*|9343/*|2107/*|1750/*)
  name="dasd-eckd"
  ;;
  6310/*)
  name="dasd-fba"
  ;;
  3880/*)
  case "$devtype" in
    3370/*)
    name="dasd-fba"
    ;;
    3390/*)
    name="dasd-eckd"
    ;;
  esac
  ;;
esac

[ -z "$name" ] && error "Invalid device type (cu ${cutype} dev ${devtype}"

if [ "$name" = cu3088 ] || [ "$name" = qeth ]; then
  source $COMMAND-ccw-group "$ID" "$name"
elif [ "$name" = zfcp ]; then
  source $COMMAND-ccw-zfcp "$ID"
elif [ "$name" = dasd-eckd ] || [ "$name" = dasd-fba ]; then
  source $COMMAND-ccw-dasd "$ID"
fi

