When a watchdog device is destroyed, the cyclic_info embedded in the
device's private data is freed but remains in the global cyclic list.
The subsequent cyclic_unregister_all() call then accesses freed memory,
causing a crash.
Add a pre_remove hook to the watchdog uclass to unregister the cyclic
function before the device is destroyed.
Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: Simon Glass <simon.glass@canonical.com>