Changing clock sources for device timers


I am looking for a way to change the clock being used to drive the watchdog timer, or any general purpose timer. Are there functions I could use in a kernel module to modify the input clock multiplexer for the timers without having to use DMA, or mmap to write directly to the register? If you need me to specify more please let me know.

Thank you