cli_classic.c: Convert do_erase() to libflashrom call

Inline emergency_help_message() to cli_classic call site.
This leaves do_erase() a redudant wrapper and moves us a step
closer to cli_classic as a pure libflashrom user by using
flashrom_flash_erase().

Tested: `flashrom -E`

Change-Id: I8566164e7dbad69cf478b24208014f10fb99e4d0
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/60068
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Original-Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72287
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/cli_classic.c b/cli_classic.c
index 9a6b6c0..882ea2e 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -668,8 +668,18 @@
 	programmer_delay(100000);
 	if (read_it)
 		ret = do_read(fill_flash, filename);
-	else if (erase_it)
-		ret = do_erase(fill_flash);
+	else if (erase_it) {
+		ret = flashrom_flash_erase(fill_flash);
+		/*
+		 * FIXME: Do we really want the scary warning if erase failed?
+		 * After all, after erase the chip is either blank or partially
+		 * blank or it has the old contents. A blank chip won't boot,
+		 * so if the user wanted erase and reboots afterwards, the user
+		 * knows very well that booting won't work.
+		 */
+		if (ret)
+			emergency_help_message();
+	}
 	else if (write_it)
 		ret = do_write(fill_flash, filename, referencefile);
 	else if (verify_it)
diff --git a/flash.h b/flash.h
index b53dcc5..5ebb7c3 100644
--- a/flash.h
+++ b/flash.h
@@ -415,6 +415,7 @@
 int probe_flash(struct registered_master *mst, int startchip, struct flashctx *fill_flash, int force);
 int read_flash_to_file(struct flashctx *flash, const char *filename);
 int verify_range(struct flashctx *flash, const uint8_t *cmpbuf, unsigned int start, unsigned int len);
+void emergency_help_message(void);
 void print_version(void);
 void print_buildinfo(void);
 void print_banner(void);
@@ -425,7 +426,6 @@
 int prepare_flash_access(struct flashctx *, bool read_it, bool write_it, bool erase_it, bool verify_it);
 void finalize_flash_access(struct flashctx *);
 int do_read(struct flashctx *, const char *filename);
-int do_erase(struct flashctx *);
 int do_write(struct flashctx *, const char *const filename, const char *const referencefile);
 int do_verify(struct flashctx *, const char *const filename);
 int register_chip_restore(chip_restore_fn_cb_t func, struct flashctx *flash, uint8_t status);
diff --git a/flashrom.c b/flashrom.c
index 17407d5..353a827 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -1496,7 +1496,7 @@
 			 "(see https://www.flashrom.org/Contact for details), thanks!\n");
 }
 
-static void emergency_help_message(void)
+void emergency_help_message(void)
 {
 	msg_gerr("Your flash chip is in an unknown state.\n");
 #if CONFIG_INTERNAL == 1
@@ -2147,23 +2147,6 @@
 	return ret;
 }
 
-int do_erase(struct flashctx *const flash)
-{
-	const int ret = flashrom_flash_erase(flash);
-
-	/*
-	 * FIXME: Do we really want the scary warning if erase failed?
-	 * After all, after erase the chip is either blank or partially
-	 * blank or it has the old contents. A blank chip won't boot,
-	 * so if the user wanted erase and reboots afterwards, the user
-	 * knows very well that booting won't work.
-	 */
-	if (ret)
-		emergency_help_message();
-
-	return ret;
-}
-
 int do_write(struct flashctx *const flash, const char *const filename, const char *const referencefile)
 {
 	const size_t flash_size = flash->chip->total_size * 1024;