diff --git a/chipdrivers.h b/chipdrivers.h
index d9b2dc7..7fe3202 100644
--- a/chipdrivers.h
+++ b/chipdrivers.h
@@ -136,10 +136,8 @@
 
 /* jedec.c */
 uint8_t oddparity(uint8_t val);
-void toggle_ready_jedec(struct flashctx *flash, chipaddr dst);
-void data_polling_jedec(struct flashctx *flash, chipaddr dst, uint8_t data);
-int write_byte_program_jedec(struct flashctx *flash, chipaddr bios, uint8_t *src,
-			     chipaddr dst);
+void toggle_ready_jedec(const struct flashctx *flash, chipaddr dst);
+void data_polling_jedec(const struct flashctx *flash, chipaddr dst, uint8_t data);
 int probe_jedec(struct flashctx *flash);
 int write_jedec(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
 int write_jedec_1(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len);
diff --git a/jedec.c b/jedec.c
index be4782a..08cc88b 100644
--- a/jedec.c
+++ b/jedec.c
@@ -23,6 +23,7 @@
  */
 
 #include "flash.h"
+#include "chipdrivers.h"
 
 #define MAX_REFLASH_TRIES 0x10
 #define MASK_FULL 0xffff
@@ -111,8 +112,7 @@
 	}
 }
 
-static void start_program_jedec_common(struct flashctx *flash,
-				       unsigned int mask)
+static void start_program_jedec_common(const struct flashctx *flash, unsigned int mask)
 {
 	chipaddr bios = flash->virtual_memory;
 	chip_writeb(flash, 0xAA, bios + (0x5555 & mask));
@@ -328,7 +328,7 @@
 	return 0;
 }
 
-static int write_byte_program_jedec_common(struct flashctx *flash, uint8_t *src,
+static int write_byte_program_jedec_common(const struct flashctx *flash, const uint8_t *src,
 					   chipaddr dst, unsigned int mask)
 {
 	int tried = 0, failed = 0;
@@ -358,7 +358,7 @@
 }
 
 /* chunksize is 1 */
-int write_jedec_1(struct flashctx *flash, uint8_t *src, unsigned int start,
+int write_jedec_1(struct flashctx *flash, const uint8_t *src, unsigned int start,
 		  unsigned int len)
 {
 	int i, failed = 0;
@@ -380,11 +380,11 @@
 	return failed;
 }
 
-static int write_page_write_jedec_common(struct flashctx *flash, uint8_t *src,
+static int write_page_write_jedec_common(struct flashctx *flash, const uint8_t *src,
 					 unsigned int start, unsigned int page_size)
 {
 	int i, tried = 0, failed;
-	uint8_t *s = src;
+	const uint8_t *s = src;
 	chipaddr bios = flash->virtual_memory;
 	chipaddr dst = bios + start;
 	chipaddr d = dst;
@@ -428,7 +428,7 @@
  * This function is a slightly modified copy of spi_write_chunked.
  * Each page is written separately in chunks with a maximum size of chunksize.
  */
-int write_jedec(struct flashctx *flash, uint8_t *buf, unsigned int start,
+int write_jedec(struct flashctx *flash, const uint8_t *buf, unsigned int start,
 		int unsigned len)
 {
 	unsigned int i, starthere, lenhere;
