_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'|'--delay')
			COMPREPLY=( $(compgen -W "time" -- $cur) )
			return 0
			;;
		'--epoch')
			COMPREPLY=( $(compgen -W "year" -- $cur) )
			return 0
			;;
		'--param-get')
			COMPREPLY=( $(compgen -W "param" -- $cur) )
			return 0
			;;
		'--param-set')
			COMPREPLY=( $(compgen -W "param=value" -- $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
				--delay
				--epoch
				--param-get
				--param-set
				--vl-read
				--vl-clear
				--update-drift
				--noadjfile
				--adjfile
				--test
				--debug"
			COMPREPLY=( $(compgen -W "${OPTS[*]}" -- $cur) )
			return 0
			;;
	esac
	return 0
}
complete -F _hwclock_module hwclock
