diff --git a/bitbang_spi.c b/bitbang_spi.c
index 51fc9c6..11d2de1 100644
--- a/bitbang_spi.c
+++ b/bitbang_spi.c
@@ -71,6 +71,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= default_spi_read,
 	.write_256	= default_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 #if 0 // until it is needed
diff --git a/buspirate_spi.c b/buspirate_spi.c
index 848868c..8e649d8 100644
--- a/buspirate_spi.c
+++ b/buspirate_spi.c
@@ -124,6 +124,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= default_spi_read,
 	.write_256	= default_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 static const struct buspirate_spispeeds spispeeds[] = {
diff --git a/dediprog.c b/dediprog.c
index a730e4b..df8af61 100644
--- a/dediprog.c
+++ b/dediprog.c
@@ -709,6 +709,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= dediprog_spi_read,
 	.write_256	= dediprog_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 static int dediprog_shutdown(void *data)
diff --git a/dummyflasher.c b/dummyflasher.c
index 29256c2..66d0df0 100644
--- a/dummyflasher.c
+++ b/dummyflasher.c
@@ -127,6 +127,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= default_spi_read,
 	.write_256	= dummy_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 static const struct par_programmer par_programmer_dummy = {
diff --git a/ft2232_spi.c b/ft2232_spi.c
index aec2fd5..a5d3828 100644
--- a/ft2232_spi.c
+++ b/ft2232_spi.c
@@ -148,6 +148,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= default_spi_read,
 	.write_256	= default_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 /* Returns 0 upon success, a negative number upon errors. */
diff --git a/ichspi.c b/ichspi.c
index b7d312c..29c507a 100644
--- a/ichspi.c
+++ b/ichspi.c
@@ -1521,6 +1521,7 @@
 	.multicommand = ich_spi_send_multicommand,
 	.read = default_spi_read,
 	.write_256 = default_spi_write_256,
+	.write_aai = default_spi_write_aai,
 };
 
 static const struct spi_programmer spi_programmer_ich9 = {
@@ -1531,6 +1532,7 @@
 	.multicommand = ich_spi_send_multicommand,
 	.read = default_spi_read,
 	.write_256 = default_spi_write_256,
+	.write_aai = default_spi_write_aai,
 };
 
 static const struct opaque_programmer opaque_programmer_ich_hwseq = {
@@ -1838,6 +1840,7 @@
 	.multicommand = ich_spi_send_multicommand,
 	.read = default_spi_read,
 	.write_256 = default_spi_write_256,
+	.write_aai = default_spi_write_aai,
 };
 
 int via_init_spi(struct pci_dev *dev)
diff --git a/it85spi.c b/it85spi.c
index 01cb086..a5d5c2e 100644
--- a/it85spi.c
+++ b/it85spi.c
@@ -283,6 +283,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= default_spi_read,
 	.write_256	= default_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 int it85xx_spi_init(struct superio s)
diff --git a/it87spi.c b/it87spi.c
index 8119289..c02f77b 100644
--- a/it87spi.c
+++ b/it87spi.c
@@ -120,6 +120,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= it8716f_spi_chip_read,
 	.write_256	= it8716f_spi_chip_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 static uint16_t it87spi_probe(uint16_t port)
diff --git a/linux_spi.c b/linux_spi.c
index f4d30c9..2f46463 100644
--- a/linux_spi.c
+++ b/linux_spi.c
@@ -54,6 +54,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= linux_spi_read,
 	.write_256	= linux_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 int linux_spi_init(void)
diff --git a/programmer.h b/programmer.h
index 6f9ea8f..d60fc5d 100644
--- a/programmer.h
+++ b/programmer.h
@@ -530,6 +530,7 @@
 	/* Optimized functions for this programmer */
 	int (*read)(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
 	int (*write_256)(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
+	int (*write_aai)(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
 	const void *data;
 };
 
@@ -538,6 +539,7 @@
 int default_spi_send_multicommand(struct flashctx *flash, struct spi_command *cmds);
 int default_spi_read(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
 int default_spi_write_256(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
+int default_spi_write_aai(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len);
 int register_spi_programmer(const struct spi_programmer *programmer);
 
 /* The following enum is needed by ich_descriptor_tool and ich* code. */
diff --git a/sb600spi.c b/sb600spi.c
index c3d7710..e36ac96 100644
--- a/sb600spi.c
+++ b/sb600spi.c
@@ -201,6 +201,7 @@
 	.multicommand = default_spi_send_multicommand,
 	.read = default_spi_read,
 	.write_256 = default_spi_write_256,
+	.write_aai = default_spi_write_aai,
 };
 
 int sb600_probe_spi(struct pci_dev *dev)
diff --git a/serprog.c b/serprog.c
index 65539a1..90ece9c 100644
--- a/serprog.c
+++ b/serprog.c
@@ -313,6 +313,7 @@
 	.multicommand	= default_spi_send_multicommand,
 	.read		= serprog_spi_read,
 	.write_256	= default_spi_write_256,
+	.write_aai	= default_spi_write_aai,
 };
 
 static void serprog_chip_writeb(const struct flashctx *flash, uint8_t val,
diff --git a/spi.c b/spi.c
index b2d3eb0..62e1430 100644
--- a/spi.c
+++ b/spi.c
@@ -161,11 +161,17 @@
 	}
 }
 
+int spi_aai_write(struct flashctx *flash, uint8_t *buf,
+		  unsigned int start, unsigned int len)
+{
+	return flash->pgm->spi.write_aai(flash, buf, start, len);
+}
+
 int register_spi_programmer(const struct spi_programmer *pgm)
 {
 	struct registered_programmer rpgm;
 
-	if (!pgm->write_256 || !pgm->read || !pgm->command ||
+	if (!pgm->write_aai || !pgm->write_256 || !pgm->read || !pgm->command ||
 	    !pgm->multicommand ||
 	    ((pgm->command == default_spi_send_command) &&
 	     (pgm->multicommand == default_spi_send_multicommand))) {
diff --git a/spi25.c b/spi25.c
index e21ab78..a6e7e21 100644
--- a/spi25.c
+++ b/spi25.c
@@ -1069,8 +1069,7 @@
 	return 0;
 }
 
-int spi_aai_write(struct flashctx *flash, uint8_t *buf, unsigned int start,
-		  unsigned int len)
+int default_spi_write_aai(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len)
 {
 	uint32_t pos = start;
 	int result;
diff --git a/wbsio_spi.c b/wbsio_spi.c
index 774890e..38ac2d8 100644
--- a/wbsio_spi.c
+++ b/wbsio_spi.c
@@ -75,6 +75,7 @@
 	.multicommand = default_spi_send_multicommand,
 	.read = wbsio_spi_read,
 	.write_256 = spi_chip_write_1,
+	.write_aai = default_spi_write_aai,
 };
 
 int wbsio_check_for_spi(void)
