Watchdog rework

From: Justin Hibbits <jhibbits_at_FreeBSD.org>
Date: Thu, 07 Nov 2024 20:02:57 UTC
Hi everyone,

I've spent some time reworking the watchdog framework, changing it to
use sbintime_t instead of power-of-2-nanoseconds.  I've thus far tested
it only with a software watchdog, but put it up for review to get some
feedback on the approach as a whole.  The changes are backwards
compatible, so drivers don't need to be converted immediately, but can
instead be converted over time as needed.  

The change was brought because at Juniper we have some watchdog timers
that don't fit nicely in the power-of-2 nanosecond format, but instead
use a simple countdown timer.  Moving to sbintime_t (which may even be
slightly overkill) gives more freedom with setting the watchdog period.

The review is
at https://reviews.freebsd.org/D47312 and I would love to get some feedback on it.

- Justin