diff --git a/bitbang_spi.c b/bitbang_spi.c index 7c183c395..ac50e67d4 100644 --- a/bitbang_spi.c +++ b/bitbang_spi.c @@ -64,7 +64,7 @@ static int bitbang_spi_set_sck_get_miso(const struct bitbang_spi_master * const return master->get_miso(); } -static int bitbang_spi_send_command(struct flashctx *flash, +static int bitbang_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); @@ -145,7 +145,7 @@ static void bitbang_spi_write_byte(const struct bitbang_spi_master *master, uint } } -static int bitbang_spi_send_command(struct flashctx *flash, +static int bitbang_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/buspirate_spi.c b/buspirate_spi.c index 826bd8412..fdfc0e456 100644 --- a/buspirate_spi.c +++ b/buspirate_spi.c @@ -128,9 +128,9 @@ static int buspirate_wait_for_string(unsigned char *buf, const char *key) return ret; } -static int buspirate_spi_send_command_v1(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int buspirate_spi_send_command_v1(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); -static int buspirate_spi_send_command_v2(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int buspirate_spi_send_command_v2(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); static struct spi_master spi_master_buspirate = { @@ -572,7 +572,7 @@ int buspirate_spi_init(void) return 0; } -static int buspirate_spi_send_command_v1(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int buspirate_spi_send_command_v1(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { unsigned int i = 0; @@ -625,7 +625,7 @@ static int buspirate_spi_send_command_v1(struct flashctx *flash, unsigned int wr return ret; } -static int buspirate_spi_send_command_v2(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int buspirate_spi_send_command_v2(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { int i = 0, ret = 0; diff --git a/ch341a_spi.c b/ch341a_spi.c index d3af32f10..17c37ebfe 100644 --- a/ch341a_spi.c +++ b/ch341a_spi.c @@ -335,7 +335,7 @@ void ch341a_spi_delay(unsigned int usecs) stored_delay_us += usecs; } -static int ch341a_spi_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) +static int ch341a_spi_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { if (handle == NULL) return -1; diff --git a/chipdrivers.h b/chipdrivers.h index aa240851b..04963c229 100644 --- a/chipdrivers.h +++ b/chipdrivers.h @@ -65,8 +65,8 @@ int spi_exit_4ba(struct flashctx *flash); int spi_set_extended_address(struct flashctx *, uint8_t addr_high); /* spi25_statusreg.c */ -uint8_t spi_read_status_register(struct flashctx *flash); -int spi_write_status_register(struct flashctx *flash, int status); +uint8_t spi_read_status_register(const struct flashctx *flash); +int spi_write_status_register(const struct flashctx *flash, int status); int s25fs_read_cr(struct flashctx *const flash, uint32_t addr); int s25fs_write_cr(struct flashctx *const flash, uint32_t addr, uint8_t data); int s25fs_restore_cr3nv(struct flashctx *const flash, uint8_t cfg); diff --git a/dediprog.c b/dediprog.c index 175e0998b..1f7c3d029 100644 --- a/dediprog.c +++ b/dediprog.c @@ -714,7 +714,7 @@ static int dediprog_spi_write_aai(struct flashctx *flash, const uint8_t *buf, un return dediprog_spi_write(flash, buf, start, len, WRITE_MODE_2B_AAI); } -static int dediprog_spi_send_command(struct flashctx *flash, +static int dediprog_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, diff --git a/digilent_spi.c b/digilent_spi.c index 13a876e1d..0f7a9da12 100644 --- a/digilent_spi.c +++ b/digilent_spi.c @@ -257,7 +257,7 @@ static int spi_tx_end(uint8_t read_follows, uint32_t tx_len) return 0; } -static int digilent_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int digilent_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { int ret; diff --git a/dummyflasher.c b/dummyflasher.c index b9f612679..e1a1d8013 100644 --- a/dummyflasher.c +++ b/dummyflasher.c @@ -93,7 +93,7 @@ static const uint8_t sfdp_table[] = { static unsigned int spi_write_256_chunksize = 256; -static int dummy_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int dummy_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); static int dummy_spi_write_256(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); @@ -818,7 +818,7 @@ static int emulate_spi_chip_response(unsigned int writecnt, } #endif -static int dummy_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int dummy_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/flash.h b/flash.h index 1ee0f0fe3..1278e86b2 100644 --- a/flash.h +++ b/flash.h @@ -418,8 +418,8 @@ struct spi_command { unsigned char *readarr; }; #define NULL_SPI_CMD { 0, 0, NULL, NULL, } -int spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); -int spi_send_multicommand(struct flashctx *flash, struct spi_command *cmds); +int spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); +int spi_send_multicommand(const struct flashctx *flash, struct spi_command *cmds); enum chipbustype get_buses_supported(void); #endif /* !__FLASH_H__ */ diff --git a/ft2232_spi.c b/ft2232_spi.c index 9f4c7f033..87e605793 100644 --- a/ft2232_spi.c +++ b/ft2232_spi.c @@ -155,7 +155,7 @@ static int get_buf(struct ftdi_context *ftdic, const unsigned char *buf, return 0; } -static int ft2232_spi_send_command(struct flashctx *flash, +static int ft2232_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); @@ -459,7 +459,7 @@ ftdi_err: } /* Returns 0 upon success, a negative number upon errors. */ -static int ft2232_spi_send_command(struct flashctx *flash, +static int ft2232_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/ichspi.c b/ichspi.c index 12ee126fb..c780d525a 100644 --- a/ichspi.c +++ b/ichspi.c @@ -1103,7 +1103,7 @@ static int run_opcode(const struct flashctx *flash, OPCODE op, uint32_t offset, } } -static int ich_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int ich_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) @@ -1506,7 +1506,7 @@ static int ich_hwseq_write(struct flashctx *flash, const uint8_t *buf, unsigned return 0; } -static int ich_spi_send_multicommand(struct flashctx *flash, +static int ich_spi_send_multicommand(const struct flashctx *flash, struct spi_command *cmds) { int ret = 0; diff --git a/it85spi.c b/it85spi.c index 5ce9193d9..b9987906f 100644 --- a/it85spi.c +++ b/it85spi.c @@ -270,7 +270,7 @@ static int it85xx_spi_common_init(struct superio s) return 0; } -static int it85xx_spi_send_command(struct flashctx *flash, +static int it85xx_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); @@ -322,7 +322,7 @@ int it85xx_spi_init(struct superio s) * 3. read date from LPC/FWH address 0xffff_fdxxh (drive CE# low and get * data from MISO) */ -static int it85xx_spi_send_command(struct flashctx *flash, +static int it85xx_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/it87spi.c b/it87spi.c index f5955fe6c..8224db08e 100644 --- a/it87spi.c +++ b/it87spi.c @@ -98,7 +98,7 @@ void probe_superio_ite(void) return; } -static int it8716f_spi_send_command(struct flashctx *flash, +static int it8716f_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); @@ -275,7 +275,7 @@ int init_superio_ite(void) * commands with the address in inverse wire order. That's why the register * ordering in case 4 and 5 may seem strange. */ -static int it8716f_spi_send_command(struct flashctx *flash, +static int it8716f_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/jlink_spi.c b/jlink_spi.c index 8a69b41e6..36611bf04 100644 --- a/jlink_spi.c +++ b/jlink_spi.c @@ -101,7 +101,7 @@ static bool deassert_cs(void) return true; } -static int jlink_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int jlink_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { uint32_t length; diff --git a/linux_spi.c b/linux_spi.c index aa73c1815..1ef8f2b72 100644 --- a/linux_spi.c +++ b/linux_spi.c @@ -49,7 +49,7 @@ static int fd = -1; static size_t max_kernel_buf_size; static int linux_spi_shutdown(void *data); -static int linux_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int linux_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *txbuf, unsigned char *rxbuf); @@ -183,7 +183,7 @@ static int linux_spi_shutdown(void *data) return 0; } -static int linux_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int linux_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *txbuf, unsigned char *rxbuf) diff --git a/lspcon_i2c_spi.c b/lspcon_i2c_spi.c index 8de2c1483..72ed78a3f 100644 --- a/lspcon_i2c_spi.c +++ b/lspcon_i2c_spi.c @@ -98,7 +98,7 @@ static int lspcon_i2c_spi_read_data(int fd, uint16_t addr, void *buf, uint16_t l return i2c_read(fd, addr, &data) == len ? 0 : SPI_GENERIC_ERROR; } -static int get_fd_from_context(struct flashctx *flash) +static int get_fd_from_context(const struct flashctx *flash) { if (!flash || !flash->mst || !flash->mst->spi.data) { msg_perr("Unable to extract fd from flash context.\n"); @@ -251,7 +251,7 @@ static int lspcon_i2c_spi_disable_all_protection(int fd) return ret; } -static int lspcon_i2c_spi_send_command(struct flashctx *flash, +static int lspcon_i2c_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/mstarddc_spi.c b/mstarddc_spi.c index db1115774..48d620454 100644 --- a/mstarddc_spi.c +++ b/mstarddc_spi.c @@ -153,7 +153,7 @@ out: } /* Returns 0 upon success, a negative number upon errors. */ -static int mstarddc_spi_send_command(struct flashctx *flash, +static int mstarddc_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, diff --git a/pickit2_spi.c b/pickit2_spi.c index 2936ee8d8..0bc17afb8 100644 --- a/pickit2_spi.c +++ b/pickit2_spi.c @@ -195,7 +195,7 @@ static int pickit2_set_spi_speed(unsigned int spispeed_idx) return 0; } -static int pickit2_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int pickit2_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { diff --git a/programmer.h b/programmer.h index f6c53996f..49a9d29d1 100644 --- a/programmer.h +++ b/programmer.h @@ -612,9 +612,9 @@ struct spi_master { uint32_t features; unsigned int max_data_read; // (Ideally,) maximum data read size in one go (excluding opcode+address). unsigned int max_data_write; // (Ideally,) maximum data write size in one go (excluding opcode+address). - int (*command)(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, + int (*command)(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); - int (*multicommand)(struct flashctx *flash, struct spi_command *cmds); + int (*multicommand)(const struct flashctx *flash, struct spi_command *cmds); /* Optimized functions for this master */ int (*read)(struct flashctx *flash, uint8_t *buf, unsigned int start, unsigned int len); @@ -623,9 +623,9 @@ struct spi_master { const void *data; }; -int default_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +int default_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); -int default_spi_send_multicommand(struct flashctx *flash, struct spi_command *cmds); +int default_spi_send_multicommand(const 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, const uint8_t *buf, unsigned int start, unsigned int len); int default_spi_write_aai(struct flashctx *flash, const uint8_t *buf, unsigned int start, unsigned int len); diff --git a/raiden_debug_spi.c b/raiden_debug_spi.c index a0d65783a..306d8fba2 100644 --- a/raiden_debug_spi.c +++ b/raiden_debug_spi.c @@ -284,7 +284,7 @@ static int read_response(const struct flashctx *flash, return response_packet.status_code; } -static int send_command(struct flashctx *flash, +static int send_command(const struct flashctx *flash, unsigned int write_count, unsigned int read_count, const unsigned char *write_buffer, diff --git a/sb600spi.c b/sb600spi.c index a649253dc..5892d57b6 100644 --- a/sb600spi.c +++ b/sb600spi.c @@ -56,9 +56,9 @@ static enum amd_chipset amd_gen = CHIPSET_AMD_UNKNOWN; #define FIFO_SIZE_OLD 8 #define FIFO_SIZE_YANGTZE 71 -static int sb600_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int sb600_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); -static int spi100_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int spi100_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); static struct spi_master spi_master_sb600 = { @@ -190,7 +190,7 @@ static int compare_internal_fifo_pointer(uint8_t want) } /* Check the number of bytes to be transmitted and extract opcode. */ -static int check_readwritecnt(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt) +static int check_readwritecnt(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt) { unsigned int maxwritecnt = flash->mst->spi.max_data_write + 3; if (writecnt > maxwritecnt) { @@ -217,7 +217,7 @@ static void execute_command(void) msg_pspew("done\n"); } -static int sb600_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int sb600_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) @@ -303,7 +303,7 @@ static int sb600_spi_send_command(struct flashctx *flash, unsigned int writecnt, return 0; } -static int spi100_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int spi100_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/serprog.c b/serprog.c index 37a9db414..1befce103 100644 --- a/serprog.c +++ b/serprog.c @@ -295,7 +295,7 @@ static int sp_stream_buffer_op(uint8_t cmd, uint32_t parmlen, uint8_t *parms) return 0; } -static int serprog_spi_send_command(struct flashctx *flash, +static int serprog_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); @@ -894,7 +894,7 @@ void serprog_delay(unsigned int usecs) sp_prev_was_write = 0; } -static int serprog_spi_send_command(struct flashctx *flash, +static int serprog_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) diff --git a/spi.c b/spi.c index 489baf306..aed2a927a 100644 --- a/spi.c +++ b/spi.c @@ -26,7 +26,7 @@ #include "programmer.h" #include "spi.h" -int spi_send_command(struct flashctx *flash, unsigned int writecnt, +int spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { @@ -34,12 +34,12 @@ int spi_send_command(struct flashctx *flash, unsigned int writecnt, readarr); } -int spi_send_multicommand(struct flashctx *flash, struct spi_command *cmds) +int spi_send_multicommand(const struct flashctx *flash, struct spi_command *cmds) { return flash->mst->spi.multicommand(flash, cmds); } -int default_spi_send_command(struct flashctx *flash, unsigned int writecnt, +int default_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) @@ -60,7 +60,7 @@ int default_spi_send_command(struct flashctx *flash, unsigned int writecnt, return spi_send_multicommand(flash, cmd); } -int default_spi_send_multicommand(struct flashctx *flash, +int default_spi_send_multicommand(const struct flashctx *flash, struct spi_command *cmds) { int result = 0; diff --git a/spi25_statusreg.c b/spi25_statusreg.c index aa574d5a8..083a832f5 100644 --- a/spi25_statusreg.c +++ b/spi25_statusreg.c @@ -22,7 +22,7 @@ #include "spi.h" /* === Generic functions === */ -static int spi_write_status_register_flag(struct flashctx *flash, int status, const unsigned char enable_opcode) +static int spi_write_status_register_flag(const struct flashctx *flash, int status, const unsigned char enable_opcode) { int result; int i = 0; @@ -73,7 +73,7 @@ static int spi_write_status_register_flag(struct flashctx *flash, int status, co return 0; } -int spi_write_status_register(struct flashctx *flash, int status) +int spi_write_status_register(const struct flashctx *flash, int status) { int feature_bits = flash->chip->feature_bits; int ret = 1; @@ -90,7 +90,7 @@ int spi_write_status_register(struct flashctx *flash, int status) return ret; } -uint8_t spi_read_status_register(struct flashctx *flash) +uint8_t spi_read_status_register(const struct flashctx *flash) { static const unsigned char cmd[JEDEC_RDSR_OUTSIZE] = { JEDEC_RDSR }; /* FIXME: No workarounds for driver/hardware bugs in generic code. */ diff --git a/stlinkv3_spi.c b/stlinkv3_spi.c index 114c0cab2..ae865be10 100644 --- a/stlinkv3_spi.c +++ b/stlinkv3_spi.c @@ -323,7 +323,7 @@ static int stlinkv3_spi_set_SPI_NSS(enum spi_nss_level nss_level) return 0; } -static int stlinkv3_spi_transmit(struct flashctx *flash, +static int stlinkv3_spi_transmit(const struct flashctx *flash, unsigned int write_cnt, unsigned int read_cnt, const unsigned char *write_arr, diff --git a/usbblaster_spi.c b/usbblaster_spi.c index e2a0a4f23..46de86c80 100644 --- a/usbblaster_spi.c +++ b/usbblaster_spi.c @@ -179,7 +179,7 @@ static int send_read(unsigned int readcnt, unsigned char *readarr) } /* Returns 0 upon success, a negative number upon errors. */ -static int usbblaster_spi_send_command(struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, +static int usbblaster_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr) { uint8_t cmd; diff --git a/wbsio_spi.c b/wbsio_spi.c index f4f6af905..1674825e2 100644 --- a/wbsio_spi.c +++ b/wbsio_spi.c @@ -57,7 +57,7 @@ done: return flashport; } -static int wbsio_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int wbsio_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr); @@ -110,7 +110,7 @@ int wbsio_check_for_spi(void) * Would one more byte of RAM in the chip (to get all 24 bits) really make * such a big difference? */ -static int wbsio_spi_send_command(struct flashctx *flash, unsigned int writecnt, +static int wbsio_spi_send_command(const struct flashctx *flash, unsigned int writecnt, unsigned int readcnt, const unsigned char *writearr, unsigned char *readarr)