On OpenWrt, the watchdog binary (/sbin/watchdog) and device (/dev/watchdog) are not well documented. After some searching I was able to at least find a paper on the theory. These notes should help implementors understand the system, because the use of the watchdog has fair documentation, but the actual mechanism and understanding has to be derived from scant documenation.
First, this video should help you understand the watchdog timer, even though it is NOT part of the Linux side of the Yún.
Tutorial: Using the Arduino Watchdog Timer (10:30)
Next, /sbin/watchdog is part of Busybox, which has limited functionality. Below is the reference section from documentation.
After that - to get the theory, we have to look at the busy box source code (aka watchdog.c)1. In the function watchdog_shutdown(), is the hint we need to find our explaination. In the comments it says, /* Magic, see watchdog-api.txt in kernel */. Of course, we google for that string2. And of course we find our answer.
Quoting from the paper:
Looking back at the Busybox code for watchdog, we see all it does is ping /dev/watchdog every few seconds. However, it's not clear what reads it. It must be presumed that the kernel is actually watching /dev/watchdog and will take action, and the binary /sbin/watchdog is the pinger.
On that there are two (2) kernel modules available:
So how hotplug figures into this is NOT documented! It's in the configuration file (for hotplug), but it does not say what it is for.
So I had to know. So, I killed the daemon. Nothing happened. No reboot.