protocol: Introduce protocol_reset()

protocol_reset() encapsulates the actions necessary to return the LPC
state to what's required to boot the host. This is backend dependent;
for the mtd backend we can simply point the bridge at the host flash
AHB mapping, and for the virtual pnor we want to rearrange the content
of the LPC reserved memory (leaving the bridge pointed there). In either
case the state of the FWH address space is distured, so inform the host
as necessary.

Change-Id: Ie8efd1f703a3616c33f76f4e735c1efea039146c
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/control.c b/control.c
index ceada6b..648e1c5 100644
--- a/control.c
+++ b/control.c
@@ -36,8 +36,6 @@
 
 int control_reset(struct mbox_context *context)
 {
-	int rc;
-
 	/* We don't let the host access flash if the daemon is suspened */
 	if (context->state & STATE_SUSPENDED) {
 		return -EBUSY;
@@ -49,18 +47,7 @@
 	 * mapping back to flash, or memory in case we're using a virtual pnor.
 	 * Better set the bmc event to notify the host of this.
 	 */
-	if (windows_reset_all(context)) {
-		rc = protocol_events_set(context, BMC_EVENT_WINDOW_RESET);
-		if (rc < 0) {
-			return rc;
-		}
-	}
-	rc = lpc_reset(context);
-	if (rc < 0) {
-		return rc;
-	}
-
-	return 0;
+	return protocol_reset(context);
 }
 
 int control_kill(struct mbox_context *context)