flashrom.c: Move count_max_decode_exceeding() to cli

The count_max_decode_exceeding() function is only ever called
within the cli_classic logic so move it there and make it
static. This further cleans up the flashrom.c symbol namespace.

Change-Id: If050eab7db8560676c03d5005a2b391313a0d642
Signed-off-by: Edward O'Callaghan <quasisec@google.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/68438
Original-Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/72362
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 86d30ff..38fa7a8 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -188,6 +188,49 @@
 	return ret;
 }
 
+/* Returns the number of buses commonly supported by the current programmer and flash chip where the latter
+ * can not be completely accessed due to size/address limits of the programmer. */
+static unsigned int count_max_decode_exceedings(const struct flashctx *flash)
+{
+	unsigned int limitexceeded = 0;
+	uint32_t size = flash->chip->total_size * 1024;
+	enum chipbustype buses = flash->mst->buses_supported & flash->chip->bustype;
+
+	if ((buses & BUS_PARALLEL) && (max_rom_decode.parallel < size)) {
+		limitexceeded++;
+		msg_pdbg("Chip size %u kB is bigger than supported "
+			 "size %u kB of chipset/board/programmer "
+			 "for %s interface, "
+			 "probe/read/erase/write may fail. ", size / 1024,
+			 max_rom_decode.parallel / 1024, "Parallel");
+	}
+	if ((buses & BUS_LPC) && (max_rom_decode.lpc < size)) {
+		limitexceeded++;
+		msg_pdbg("Chip size %u kB is bigger than supported "
+			 "size %u kB of chipset/board/programmer "
+			 "for %s interface, "
+			 "probe/read/erase/write may fail. ", size / 1024,
+			 max_rom_decode.lpc / 1024, "LPC");
+	}
+	if ((buses & BUS_FWH) && (max_rom_decode.fwh < size)) {
+		limitexceeded++;
+		msg_pdbg("Chip size %u kB is bigger than supported "
+			 "size %u kB of chipset/board/programmer "
+			 "for %s interface, "
+			 "probe/read/erase/write may fail. ", size / 1024,
+			 max_rom_decode.fwh / 1024, "FWH");
+	}
+	if ((buses & BUS_SPI) && (max_rom_decode.spi < size)) {
+		limitexceeded++;
+		msg_pdbg("Chip size %u kB is bigger than supported "
+			 "size %u kB of chipset/board/programmer "
+			 "for %s interface, "
+			 "probe/read/erase/write may fail. ", size / 1024,
+			 max_rom_decode.spi / 1024, "SPI");
+	}
+	return limitexceeded;
+}
+
 int main(int argc, char *argv[])
 {
 	const struct flashchip *chip = NULL;