_hwclock_module()
{
	local cur prev OPTS
	COMPREPLY=()
	cur="${COMP_WORDS[COMP_CWORD]}"
	prev="${COMP_WORDS[COMP_CWORD-1]}"
	case $prev in
		'-f'|'--rtc'|'--adjfile')
			local IFS=$'\n'
			compopt -o filenames
			COMPREPLY=( $(compgen -f -- $cur) )
			return 0
			;;
		'--date')
			COMPREPLY=( $(compgen -W "time" -- $cur) )
			return 0
			;;
		'--epoch')
			COMPREPLY=( $(compgen -W "year" -- $cur) )
			return 0
			;;
		'-h'|'-?'|'--help'|'-v'|'-V'|'--version')
			return 0
			;;
	esac
	case $cur in
		-*)
			OPTS="--help
				--show
				--get
				--set
				--hctosys
				--systohc
				--systz
				--adjust
				--getepoch
				--setepoch
				--predict
				--version
				--utc
				--localtime
				--rtc
				--directisa
				--date
				--epoch
				--update-drift
				--noadjfile
				--adjfile
				--test
				--debug"
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
	esac
	return 0
}
complete -F _hwclock_module hwclock
