change log recovery to generic device_recovery_start function

Remove (or at least stop calling) the HTC-specific mechanism for
preserving the recovery log from before a radio or hboot update.
Replace it with a generic device_recovery_start() function which each
device's code can implement to do whatever it wants on recovery
startup.

Change-Id: If3cca4b498c0b1cf0565236404ecf56a1fc46123
diff --git a/default_recovery_ui.c b/default_recovery_ui.c
index d4e6204..409d679 100644
--- a/default_recovery_ui.c
+++ b/default_recovery_ui.c
@@ -29,6 +29,10 @@
                        "wipe cache partition",
                        NULL };
 
+int device_recovery_start() {
+    return 0;
+}
+
 int device_toggle_display(volatile char* key_pressed, int key_code) {
     return key_code == KEY_HOME;
 }
diff --git a/firmware.c b/firmware.c
index 6739c1e..4c1a9a4 100644
--- a/firmware.c
+++ b/firmware.c
@@ -119,7 +119,6 @@
      * wipe the cache and reboot into the system.)
      */
     snprintf(boot.command, sizeof(boot.command), "update-%s", update_type);
-    strlcat(boot.recovery, "--recover_log\n", sizeof(boot.recovery));
     if (set_bootloader_message(&boot)) {
         format_root_device("CACHE:");
         return -1;
diff --git a/recovery.c b/recovery.c
index 1a88560..73a54a2 100644
--- a/recovery.c
+++ b/recovery.c
@@ -44,9 +44,8 @@
   { "update_package", required_argument, NULL, 'u' },
   { "wipe_data", no_argument, NULL, 'w' },
   { "wipe_cache", no_argument, NULL, 'c' },
-  // TODO{oam}: implement improved command line passing key, egnot to review.
+  // TODO{oam}: implement improved command line passing key, egnor to review.
   { "set_encrypted_filesystem", required_argument, NULL, 'e' },
-  { "recover_log", no_argument, NULL, 'g' },
   { NULL, 0, NULL, 0 },
 };
 
@@ -492,13 +491,14 @@
         case 'w': wipe_data = wipe_cache = 1; break;
         case 'c': wipe_cache = 1; break;
         case 'e': efs_mode = optarg; toggle_efs = 1; break;
-        case 'g': recover_firmware_update_log(); break;
         case '?':
             LOGE("Invalid command argument\n");
             continue;
         }
     }
 
+    device_recovery_start();
+
     fprintf(stderr, "Command:");
     for (arg = 0; arg < argc; arg++) {
         fprintf(stderr, " \"%s\"", argv[arg]);
diff --git a/recovery_ui.h b/recovery_ui.h
index 8818ef3..e451bdf 100644
--- a/recovery_ui.h
+++ b/recovery_ui.h
@@ -17,6 +17,9 @@
 #ifndef _RECOVERY_UI_H
 #define _RECOVERY_UI_H
 
+// Called when recovery starts up.  Returns 0.
+extern int device_recovery_start();
+
 // Called in the input thread when a new key (key_code) is pressed.
 // *key_pressed is an array of KEY_MAX+1 bytes indicating which other
 // keys are already pressed.  Return true if the text display should