#!/bin/sh

# fiio - systemd suspend/resume hook
#
# Disable FiiO DAC when going to sleep.
# Usb vendor/product ID found using lsusb.
#
# Reference:
# https://bbs.archlinux.org/viewtopic.php?id=242633

id="262a:100e"
file="/tmp/systemd-system-sleep-fiio"

case $1 in
    pre)
		device=$(tree /sys | grep -i "usb.*$id" | sed -E '1s/.*\/(.*):[0-9]\.[0-9].*/\1/;2,$d')

		# Bail if device isnt connected
		[ -z "$device" ] && exit 1

		echo "Suspending device [FiiO USB DAC E17K] on usb $device"
		echo "$device" > "$file"
		echo "$device" > /sys/bus/usb/drivers/usb/unbind
		;;
    post)
		# Bail if device isnt connected
		[ ! -f "$file" ] && exit 1

		echo "Resuming device [FiiO USB DAC E17K] on usb $(cat file)"
		cat "$file" > /sys/bus/usb/drivers/usb/bind
		rm "$file"
		;;
esac