pmf(9) clarifications

Hi
Regarding pmf(9) API, is it safe to call pmf_device_deregister() if the
device was not successfully registered as a power handler? The
documentation does not mention this (though the code looks as if that
would work fine), nor the device_pmf_is_registered() function which may
not be actually required? Some driver detach functions use it and some do
not..
Also, is it allowed to sleep during suspend/resume? Again, the
documentation does not mention this, but it seems that shutting down
cleanly might involve a flush of some kind. (I see that
pmf_system_suspend() does flush disk caches specifically before the
suspend, which sidesteps the issue a little)
iain