_rtcwake_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-A'|'--adjfile')
			local IFS=$'\n'
			compopt -o filenames
			COMPREPLY=( $(compgen -f -- $cur) )
			return 0
			;;
		'-d'|'--device')
			local RTC_DEVS
			RTC_DEVS=$(cd /sys/class/rtc/ && echo *)
			COMPREPLY=( $(compgen -W "$RTC_DEVS" -- $cur) )
			return 0
			;;
		'-m'|'--mode')
			COMPREPLY=( $(compgen -W "$(rtcwake --list-modes)" -- $cur) )
			return 0
			;;
		'-s'|'--seconds')
			COMPREPLY=( $(compgen -W "seconds" -- $cur) )
			return 0
			;;
		'-t'|'--time')
			COMPREPLY=( $(compgen -W "time_t" -- $cur) )
			return 0
			;;
		'--date')
			COMPREPLY=( $(compgen -W "YYYYMMDDhhmmss" -- $cur) )
			return 0
			;;
		'-h'|'--help'|'-V'|'--version')
			return 0
			;;
	esac
	OPTS="
		--auto
		--adjfile
		--date
		--device
		--dry-run
		--local
		--list-modes
		--mode
		--seconds
		--time
		--utc
		--verbose
		--help
		--version
	"
	COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
	return 0
}
complete -F _rtcwake_module rtcwake
