#!/bin/bash
#
# PSU hard reset (power cycle) script.
#
# Power cycle the entire tray by setting the PSU hotswap reset (GPIO218) to high
#
# Global variable: PSU_HARDRESET_DELAY specifies the number of seconds to wait
# before pulling the trigger. If not specified or zero, the script power cycles
# immediately.

##################################################
# Stop the phosphor-hwmon daemon
# Return:
#   0 if success, non-zero if error
##################################################
stop_phosphor_hwmon() {
  if (( $# != 0 )); then
    echo 'Usage: stop_phosphor_hwmon' >&2
    return 1
  fi

  echo "Stopping phosphor-hwmon" >&2
  local srv='system-xyz.openbmc_project.Hwmon.slice'
  systemctl stop "${srv}"
}

main() {
  # Stop phosphor-hwmon so that ADM1272 powercycle doesn't happen
  # in the middle of an i2c transaction and stuck the bus low
  stop_phosphor_hwmon "$@"

  gpioset gpiochip6 26=1
}

# Exit without running main() if sourced
if ! (return 0 2>/dev/null) ; then
    main "$@"
fi
