I have previously posted a version of this patch. The problem
that I have encountered with driver backends was that they
were unaware of the reason why a frontend was disappearing or
why it was created. The following patch allows the backend to
see whether a frontend is going into suspend mode and
disappearing vs. disappearing due to domain destruction or
being created due to a resume vs a domain creation. I have
separated out the code that actually uses this awareness in
the TPM driver for another patch. Backend drivers can now be
written such that it allows hotplug scripts to react
differently depending on this reason.
Its not clear that having an explicit suspend state is a good thing: The
recovery mechanism that kicks in upon restore is also used for
recovering from backend restarts, which can happen at any time in any
state (as a result of a crash). Having an explicit suspend notification
may actually send the wrong message to driver writers. Further, you
don't want to be doing things like running hotplug scripts during a time
critical operation like the final suspend/resume commit stage.
Ian