_rtcwake_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-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="	--date
		--device
		--dry-run
		--local
		--mode
		--seconds
		--time
		--utc
		--verbose
		--help
		--version"
	COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
	return 0
}
complete -F _rtcwake_module rtcwake
