init () {
  SCRIPTNAME=${0##*/}
  COMMAND=${SCRIPTNAME%%-*}

  . ${SYSCONFIG}/scripts/common/functions

  MODE=manual

  while getopts ":AD:h" OPT; do
    case "$OPT" in
      A)
      MODE=auto
      ;;
      D)
      DEVPATH="$OPTARG"
      ;;
      h)
      usage
      exit $R_SUCCESS
      ;;
      :)
      echo "$SCRIPTNAME: option requires an argument -- $OPTARG" >&2
      echo "Try: \`$SCRIPTNAME -h' for mor information." >&2
      exit $R_USAGE
      ;;
      ?)
      echo "$SCRIPTNAME: illegal option -- $OPTARG" >&2
      echo "Try: \`$SCRIPTNAME -h' for mor information." >&2
      exit $R_USAGE
      ;;
    esac
  done

  SYSFS=${SYSFS:-/sys}

  cd ${SYSCONFIG}/hardware
}

check_bus () {
  if [ "$1" == "ccwgroup" ]; then
    exit $R_SUCCESS
  fi
}

check_config () {
  if ! [ -e "$SYSCONFIG/hardware/config-$1-$2" ]; then
    if [ "$MODE" != auto ]; then
      warning "Can't find config-$1-$2!"
    fi
    exit $R_NOCONFIG
  fi
}

check_devpath () {
  [ -e $SYSFS${DEVPATH:=$1} ] || exit $R_ERROR
}

read_config () {
  local READ_CONFIG="$SYSCONFIG/hardware/config-$1-$2"
  check_config "$@"
  if [ "$CONFIG" != $READ_CONFIG ]; then
    CONFIG=$READ_CONFIG
    source $CONFIG
  fi
}

if [ -z $SCRIPTNAME ]; then
  init "$@"
  shift $(($OPTIND - 1))
fi

