Split out enter_conf_mode_*()/exit_conf_mode_() functions, we'll soon need
them. Reduce code duplication a bit by improved 'no dump available' handling.

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2785 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/superiotool/fintek.c b/util/superiotool/fintek.c
index c12954c..3e7bf9f 100644
--- a/util/superiotool/fintek.c
+++ b/util/superiotool/fintek.c
@@ -89,15 +89,26 @@
 	       regval(port, 0xf6), regval(port, 0xf7), regval(port, 0xf8));
 }
 
-void probe_idregs_fintek(uint16_t port)
+void enter_conf_mode_fintek(uint16_t port)
 {
-	uint16_t vid, did, success = 0;
-
 	/* Enable configuration sequence (Fintek uses this for example)
 	 * Older ITE chips have the same enable sequence.
 	 */
 	outb(0x87, port);
 	outb(0x87, port);
+}
+
+void exit_conf_mode_fintek(uint16_t port)
+{
+	/* Exit MB PnP mode (for Fintek, doesn't hurt ITE). */
+	outb(0xaa, port);
+}
+
+void probe_idregs_fintek(uint16_t port)
+{
+	uint16_t vid, did, success = 0;
+
+	enter_conf_mode_fintek(port);
 
 	outb(0x20, port);
 	if (inb(port) != 0x20) {
@@ -143,7 +154,6 @@
 	if (!success)
 		printf("No dump for vid 0x%04x, did 0x%04x\n", vid, did);
 
-	/* Exit MB PnP mode (for Fintek, doesn't hurt ITE). */
-	outb(0xaa, port);
+	exit_conf_mode_fintek(port);
 }