edi: Split preparation/finalization out of edi_probe_kb9012()

This turns edi_probe_kb9012() into a pure probing function. To avoid
turning EDI off after probing, register edi_finish() only after full
preparation.

Change-Id: Icc342b8ab109d5621d8b65c79cecf71a44bea4bd
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.sourcearcade.org/c/flashprog/+/423
diff --git a/include/chipdrivers/edi.h b/include/chipdrivers/edi.h
index 9cf2a28..48f24be 100644
--- a/include/chipdrivers/edi.h
+++ b/include/chipdrivers/edi.h
@@ -25,5 +25,6 @@
 int edi_chip_write(struct flashprog_flashctx *, const uint8_t *buf, unsigned int start, unsigned int len);
 int edi_chip_read(struct flashprog_flashctx *, uint8_t *buf, unsigned int start, unsigned int len);
 int edi_probe_kb9012(struct flashprog_flashctx *);
+int edi_prepare(struct flashprog_flashctx *, enum preparation_steps);
 
 #endif /* !__CHIPDRIVERS_EDI_H__ */