===================================================================
@@ -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)
===================================================================
@@ -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)
===================================================================
@@ -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)
===================================================================
@@ -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)
===================================================================
@@ -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)
===================================================================
@@ -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))) {
===================================================================
@@ -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. */
===================================================================
@@ -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 = {
===================================================================
@@ -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;
===================================================================
@@ -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)
===================================================================
@@ -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[] = {
===================================================================
@@ -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)
===================================================================
@@ -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. */
===================================================================
@@ -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,
===================================================================
@@ -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